div的id是可以改变的,通常使用的方法是通过JQuery或Javascript来实现。本文介绍用JQuery或JS改变div的id的五种方法。
方法一:使用Tag选择器
JQuery代码如下:
- <div id="myDivId">测试</div>
- <script type="text/javascript">
- $('div').attr('id','myDivId_new');
- </script>
Javascript代码如下:
- <div id="myDivId">测试</div>
- <script type="text/javascript">
- document.getElementsByTagName("div").id = 'myDivId_new';
- </script>
代码解释:上面的代码是把div的id名称由原来的“myDivId”改为“myDivId_new”。
注意问题:这个方法有很大的局限性,只当网页只有一个div标签时才正确,而绝大多数网页是不止一个div标签。
方法二:通过Class选择器
JQuery代码如下:
- <div id="myDivId" class="myDivClass">测试</div>
- <script type="text/javascript">
- $('.myDivClass').attr('id','myDivId_new');
- </script>
代码解释:上面的代码是把class为“myDivClass”的div的id名称由原来的“myDivId”改为“myDivId_new”。
注意问题:这个方法也有较大的局限性,只当网页只有一个div的class为“myDivClass”时才正确,而网页通常一个class有多个div在使用。
方法三:通过id选择器(推荐)
JQuery代码:
- <div id="myDivId" class="myDivClass">测试</div>
- <script type="text/javascript">
- $('#myDivId').attr('id', 'myDivId_new');
- </script>
Javascript代码:
- <div id="myDivId" class="myDivClass">测试</div>
- <script type="text/javascript">
- document.getElementById("myDivId").id = 'myDivId_new';
- </script>
代码解释:上面的代码是把id为“myDivId”的div的id名称由原来的“myDivId”改为“myDivId_new”。
这个方法最好,因为它不受任何限制,即是不受网页的div数量限制,也不管网页有多少个div具有相同的class名称。
这是推荐大家使用的一个方法。
方法四:使用setAttribute
不单单是id,我们还可以改变div的class,或更多事件,或其他属性。
- document.getElementById('demo').setAttribute('id','demoSecond');
- document.getElementById('demo').setAttribute('class','new');
- document.getElementById('demo').setAttribute('onclick','doThis();');
这里要用到setAttribute。
方法五:使用querySelector
还可以用querySelector()
来改变div的id,代码如下:
- document.querySelector("#divId").id = "newId";
注意: querySelector()
方法仅仅返回匹配指定css选择器的第一个元素。例如:
获取文档中第一个 <p> 元素:
- document.querySelector("p");
获取文档中 class="example" 的第一个 <p> 元素:
- document.querySelector("p.example");
获取文档中有 "target" 属性的第一个 <a> 元素:
- document.querySelector("a[target]");
所以这个方法的局限性非常大。这里仅作介绍,但不作推荐使用。