【发布时间】:2015-03-10 11:10:27
【问题描述】:
我有一个按钮,可以在列表中的特定 div 之后添加一个 div。为此,我需要找到具有特定类的父 div 并找到具有其类的子 div,然后遍历其 div 以找到具有特定 css 属性的 div...
这里是html结构:
<div class="popup1">
<div class="rootdiv">
<div class="r1">content</div>
<div class="r2">
<div class="raw">raw-content...</div>
<div class="raw" style="border-bottom-style: dashed;">raw-content...</div>
<!-- need to append here (bellow that div with a dashed border -->
<div class="raw">raw-content...</div>
</div>
<div class="r3">
<input type="button" class="btn" onclick="forExMyJqueryFunc()"></input>
</div>
</div>
</div>
<div class="popup2">
<div class="rootdiv">
<div class="r1">content</div>
<div class="r2">
<div class="raw">raw-content...</div>
<div class="raw" style="border-bottom-style: dashed;">raw-content...</div>
<div class="raw">raw-content...</div>
</div>
<div class="r3">
<inpute type="button" class="btn" onclick="forExMyJqueryFunc()"></input>
</div>
</div>
</div>
所以我正在编写一个脚本,将 div 波纹管/底部附加到带有“border-bottom-style: dashed”的 div。
$(function forExMyJqueryFunc() {
$(".btn").on('click', function() {
var divRaws = $(this).closest(".rootdiv").siblings(".r2 .raw");
//divRaws.foreach(item) {
if (item.css('border-bottom-style') === "dashed") {
item.after("<div class="raw">raw-new-content...</div>");
}
//}
});
});
有不同的方法来获取父母和孩子:下一个,查找,最近的,父母,孩子...等。在这种情况下,哪一个是最佳选择。
【问题讨论】:
-
<inpute type="button"???这只是一个错字吗? -
@A.沃尔夫 是的,当然。您可以将其替换为
-
您不是在寻找
siblings的rootdiv.. 它没有兄弟姐妹。阅读 jQuery API 中各种遍历的定义 -
.next 不会找到父或子,它会找到下一个
sibling... 即 dom 中同一级别的下一个元素。这就是你的代码有问题,siblings找不到孩子:api.jquery.com/siblings
标签: jquery html find children parents