相关疑难解决方法(0)

jQuery选择后代,包括父级

请考虑以下HTML:

<div class="foo" id="obj">
   I should be changed red
   <div class="bar" style="color:black;">
      I should not be changed red.
      <div class="foo">I should be changed red.</div>
   </div>
</div>
Run Code Online (Sandbox Code Playgroud)

给定一个DOM元素obj和一个表达式,我该如何选择任何一个孩子obj?我正在寻找类似于"选择后代"的东西,但如果它与表达式匹配,还包括父级.

var obj = $("#obj")[0];

//wrong, may include siblings of 'obj'
$(".foo", $(obj).parent()).css("color", "red");

//wrong -- excludes 'obj'
$(".foo", obj).css("color", "red");

//correct way, but it's annoying
var matches = $(".foo", obj);
if ($(obj).is(".foo")) matches = matches.add(obj);
matches.css("color", "red");
Run Code Online (Sandbox Code Playgroud)

有更优雅的解决方案吗?

jquery parent descendant jquery-selectors

23
推荐指数
2
解决办法
1万
查看次数

标签 统计

descendant ×1

jquery ×1

jquery-selectors ×1

parent ×1