如何遍历所有 <p> 元素
How can I loop through all <p> elements?
我想遍历文档中的所有段落元素并调整它们的html。目前我使用一些jquery:
console.log("loop through <p> elements");
$("p").each(function()
{
console.log("next <p> element with id: " + this.id);
});
但是,控制台中仅显示"循环段落元素",并且我的身体中有一些具有唯一ID的段落元素:
<body>
<p id="para1"> paragraph 1 </p>
<p id="para2"> paragraph 2 </p>
<p id="para3"> paragraph 3 </p>
</body>
我希望这是 .each() 循环的某种语法错误,并且有人可以纠正我,任何帮助将不胜感激。
你的代码应该是:
$("p").each(function()
{
console.log("next <p> element with id: " + $(this).attr('id'));
});
因为$(this).id
不存在,或者this.id
也是有效的。
现场演示
你应该
使用
$("p").each(function() {
console.log("next <p> element with id: " + this.id);
});
id
是Element
实例的属性,例如 this
.如果将其包装到 jQuery 元素中,它将不再具有 id
属性,因此您必须使用 jQuery 方法获取它,例如 $(this).prop('id')
。不过,这是不必要的。
您是否收到错误:未捕获的引用错误:未定义 $?如果是这种情况,请加载 JQuery 库。将其添加到 html 文档的头部。
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
jQuery 对象没有 id
属性。若要获取元素的 ID,请使用 $(this).attr('id')
。
如果它仍然没有循环遍历标签,那么它可能在 DOM 有机会完成加载之前就正在运行。将代码放在就绪处理程序中将延迟执行,直到 DOM 完全加载:
$(document).ready(function() {
console.log("loop through <p> elements");
$("p").each(function()
{
console.log("next <p> element with id: " + $(this).attr('id'));
});
});
相关文章:
- 遍历类元素数组,并在jquery中选择同级元素
- Jquery遍历表元素
- JS.循环遍历多维数组,以计数元素在每列中的出现次数
- 如何使用 document.querySelectorAll 遍历选定的元素
- 当知道同一hiearch中至少有一个元素时,遍历到元素.结构使用jquery
- js循环遍历单击的元素子节点
- 循环遍历元素jquery选择器
- 如何使用jquery遍历具有动态添加元素的数组
- JavaScript元素遍历返回的值超出预期
- 遍历jQuery中的表元素
- 使用 jquery .find() 遍历按类和存储属性选择元素
- 带有 ng-repeat 的 Angular JS 指令无法遍历子元素
- 遍历 DOM 以查找哪个元素具有焦点
- 循环遍历 DOM 元素时,是否有 for 循环的替代方法
- 遍历(获取)元素包装在 标记内
- 如何遍历 d3 中的值内部数组并添加相应的子元素
- JQuery/Javascript - 遍历值之后的所有 json 元素
- 遍历django模板中的json元素
- 如何在遍历表和添加新元素时获得tr的索引
- 选择要显示和隐藏的元素,遍历问题!(jQuery)