javascript中怎么找父级标签和子级标签

一、JS中查找父标签的方法:

1、利用parentNode属性,语法“子元素对象.parentNode”;

2、借助Jquery中的parent()或parents()方法,语法“子元素对象.parent()”或“子元素对象.parents()”。

找父元素节点的方法有:

1、原生方法--parentNode属性

parentNode 属性可返回某节点的父节点。

元素.parentNode //返回元素的第一个父节点

2、Jquery方法(记得导包)

元素.parent() 返回元素的第一个父节点

元素.parents() 返回一个包含元素所有父节点的数组

下面有个例子:

<!doctype html>

<html>

<head>

    <meta charset="UTF-8">

</head>

<body>

<div><span><a id="a"></a></span></div>

<script src="jquery-2.1.1.min.js"></script>

<script>

    //原生的方法

    document.getElementById('a').parentNode //得到<span>节点

    //也可以这么玩

    document.getElementById('a').parentNode.parentNode //得到<div>节点



    //Jquery的方法  记得导包哦

    $('#a').parent();//得到<span>节点

    $('#a').parent().parent();//得到<div>节点

    $('#a').parents();//得到所有父级节点   <span> ,<div> ,<body> ,<html>

    $('#a').parents('body');//得到<body>节点

</script>

</body>

</html>

找子元素节点的方法有:

1、原生方法--childNodes属性

childNodes 属性可返回某节点的子节点。

元素.childNodes //返回元素的第一个子节点

2、Jquery方法(记得导包)

元素.child() 返回元素的第一个子节点

元素.children() 返回一个包含元素所有父节点的数组

下面有个例子:

<!doctype html>

<html>

<head>

    <meta charset="UTF-8">

</head>

<body>

<div id="div"><span><a></a></span></div>

<script src="jquery-2.1.1.min.js"></script>

<script>

    //原生的方法

    document.getElementById('id').childNodes   //得到<span>节点

    //也可以这么玩

    document.getElementById('id').childNodes.childNodes //得到<a>节点



    //Jquery的方法  同样记得导包哦

    $('#div').child();//得到<span>节点

    $('#div').child().child();//得到<a>节点

    $('#div').children();//得到所有父级节点   <span> ,<a>

    $('#div').children('a');//得到<a>节点

</script>

</body>

</html>

       阅读更多,请打开:javascript中怎么找父级标签和子级标签 - 微超之家

 

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
点击父级级展开,或者收起 <script type=text/javascript><!-- var LastLeftID = ""; function menuFix() { var obj = document.getElementById("nav").getElementsByTagName("li"); for (var i=0; i<obj.length; i++) { obj[i].onmouseover=function() { this.className+=(this.className.length>0? " ": "") + "sfhover"; } obj[i].onMouseDown=function() { this.className+=(this.className.length>0? " ": "") + "sfhover"; } obj[i].onMouseUp=function() { this.className+=(this.className.length>0? " ": "") + "sfhover"; } obj[i].onmouseout=function() { this.className=this.className.replace(new RegExp("( ?|^)sfhover\\b"), ""); } } } function DoMenu(emid) { var obj = document.getElementById(emid); obj.className = (obj.className.toLowerCase() == "expanded"?"collapsed":"expanded"); if((LastLeftID!="")&&(emid!=LastLeftID)) //关闭上一个Menu { document.getElementById(LastLeftID).className = "collapsed"; } LastLeftID = emid; } function GetMenuID() { var MenuID=""; var _paramStr = new String(window.location.href); var _sharpPos = _paramStr.indexOf("#"); if (_sharpPos >= 0 && _sharpPos < _paramStr.length - 1) { _paramStr = _paramStr.substring(_sharpPos + 1, _paramStr.length); } else { _paramStr = ""; } if (_paramStr.length > 0) { var _paramArr = _paramStr.split("&"); if (_paramArr.length>0) { var _paramKeyVal = _paramArr[0].split("="); if (_paramKeyVal.length>0) { MenuID = _paramKeyVal[1]; } } /* if (_paramArr.length>0) { var _arr = new Array(_paramArr.length); } //取所有#后面的,菜单只需用到Menu //for (var i = 0; i < _paramArr.length; i++) { var _paramKeyVal = _paramArr[i].split('='); if (_paramKeyVal.length>0) { _arr[_paramKeyVal[0]] = _paramKeyVal[1]; } } */ } if(MenuID!="") { DoMenu(MenuID) } } GetMenuID(); //*这两个function的顺序要注意一下,不然在Firefox里GetMenuID()不起效果 menuFix(); --></script>
要创建父级标签和多个标签,可以按照以下步骤进行操作: 1. 在 `<script setup>` 标签导入 `ref` 和 `onMounted` 函数。 ```javascript <script setup> import { ref, onMounted } from 'vue'; </script> ``` 2. 创建一个 ref 变量来存储要渲染的数据。 ```javascript <script setup> const myData = ref(['Child 1', 'Child 2', 'Child 3']); </script> ``` 3. 在 `onMounted` 生命周期钩函数创建父级标签和子级标签。 ```javascript <script setup> onMounted(() => { const parentElement = document.createElement('div'); // 创建父级标签 parentElement.classList.add('parent-element'); myData.value.forEach(childData => { const childElement = document.createElement('div'); // 创建标签 childElement.classList.add('child-element'); childElement.textContent = childData; parentElement.appendChild(childElement); }); document.body.appendChild(parentElement); }); </script> ``` 在这个示例,我们使用 `myData` 数组的数据循环创建标签,并将它们添加到父级标签。 4. 在 CSS 文件定义 `.parent-element` 和 `.child-element` 类的样式。 ```css .parent-element { background-color: #f1f1f1; padding: 10px; } .child-element { margin-bottom: 5px; padding: 5px; background-color: #ffffff; } ``` 这样,我们创建了一个带有父级标签和多个标签的 DOM 结构,并为它们应用了 CSS 样式。 请确保在适当的时机调用 `onMounted` 函数,并在 CSS 文件定义所需的样式。你可以根据自己的需求进行进一步的修改和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值