1
<div class='main'>

<div>
        <div>
            <button></button>
        </div>
</div>
<ul>    
        <li>
            <img />
        </li>

        <li>
            <h1></h1>
        </li>

</ul>
<div>
        <span>
            <a href=""></a>
        </span>
</div>

</div>

问题:我想选择按钮,img、h1 和 a。在 jQuery 中执行此操作的唯一方法(据我所知)是 $(.main).children().children().children()。但是还有另一种方法可以在 jQuery 中选择这些元素吗?(不要多次使用儿童())

4

4 回答 4

4

jQuery 选择器的工作方式类似于 CSS 选择器:

var $button = $('.main > div > div > button');

您还可以使用find()方法:

var $a = $('.main').find('a');

http://api.jquery.com/category/selectors/

于 2012-09-28T08:21:39.513 回答
3

你可以使用 .find() 方法:

$('.main').find()
于 2012-09-28T08:20:24.740 回答
2

实际上,如果您尝试选择“容器 div”中的所有叶节点,您可以尝试

$(".main :not(:has(*))")

这将选择没有子元素的“容器 div”内任何级别的任何元素。

于 2012-09-28T08:28:45.077 回答
0
<div class="main">
   <div>
      <div>
         <button class="mustSelect"></button>
      </div>
   </div>
   <ul>
      <li>
         <img class="mustSelect" />
      </li>
      <li>
         <h1 class="mustSelect"></h1>
      </li>
   </ul>
   <div>
      <span>
      <a href="" class="mustSelect"></a>
      </span>
   </div>

将 class(class="mustSelect") 添加到您需要的元素中。然后在 js 中,您可以引用这些元素,如下所示。

$('.mustSelect')

如果您无法添加类,请使用以下

$("button, img , h1 , a ", ".main")

它告诉 jquery 选择 .main 类中的任何按钮 img 、 h1 、 a 。

希望这会帮助你。如果您有任何问题,请随时提问。谢谢

于 2012-09-28T08:30:31.600 回答