jQuery 选择器帮助

发布于 2024-09-27 20:39:21 字数 654 浏览 5 评论 0原文

我有以下标记

<div id="FirstDiv">
  <div class="MyClass">
      <span>
           <a href="#">link 1</a>
           <a href="#">link 2</a>
      </span>
  </div>
</div>
<div id="SecondDiv">
  <div class="MyClass">
      <span>
           <a href="#">link 1</a>
           <a href="#">link 2</a>
      </span>
  </div>
</div>

如何选择 DIV“SecondDiv”内的所有 标记元素?

实际上我正在这样做

$(".MyClass > a").click(function (event) {

,但这也会选择第一个 div 的链接。

I have the following markup

<div id="FirstDiv">
  <div class="MyClass">
      <span>
           <a href="#">link 1</a>
           <a href="#">link 2</a>
      </span>
  </div>
</div>
<div id="SecondDiv">
  <div class="MyClass">
      <span>
           <a href="#">link 1</a>
           <a href="#">link 2</a>
      </span>
  </div>
</div>

How can I select alla the <a> tag elements inside the DIV "SecondDiv"?

Actually I am doing

$(".MyClass > a").click(function (event) {

but this would select also links of the first div.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

灼痛 2024-10-04 20:39:21
$('#SecondDiv a')

这使用 SecondDiv 元素的 ID,并选择所有后代 元素。

您使用的是 > 子选择器,它只会选择直系子女。你是对的,它会从两个 .MyClass 元素中进行选择。

另一种可能性是将 a .delegate() 放在 SecondDiv 元素,用于匹配嵌套 元素的点击。

$('#SecondDiv').delegate( 'a', 'click', function() {
      // your code
});

编辑:参考下面的评论,您可以将其限制为 .MyClass 元素中的 元素,方法是将其放置在选择器。

$('#SecondDiv .MyClass a')

现在,任何不是 .MyClass 派生的 元素都不会被包含在内。

$('#SecondDiv a')

This uses the ID of the SecondDiv element, and selects all descendant <a> elements.

You were using the > child selector, which would only select immediate children. And you're right that it would select from both .MyClass elements.

Another possibility would be to place a .delegate() on the SecondDiv element to match clicks against the nested <a> elements.

$('#SecondDiv').delegate( 'a', 'click', function() {
      // your code
});

EDIT: In reference to your comment below, you can limit it to <a> elements in the .MyClass element by placing that in the selector.

$('#SecondDiv .MyClass a')

Now any <a> elements that do not descend from .MyClass will not be included.

触ぅ动初心 2024-10-04 20:39:21

您应该在此处使用 ID 选择器 (#),而不是类选择器 (.)

$("#SecondDiv a").click(function (event) {

阅读有关 ID 选择器的更多信息类选择器

You should use the ID Selector (#) over here instead of the class selector (.)

$("#SecondDiv a").click(function (event) {

Read more about ID Selector and Class selector.

最丧也最甜 2024-10-04 20:39:21
$("#SecondDiv a").click(function(){
  alert("Hi-o");
});
$("#SecondDiv a").click(function(){
  alert("Hi-o");
});
凉风有信 2024-10-04 20:39:21
$("#SecondDiv").find("a").click(function(event) {});
$("#SecondDiv").find("a").click(function(event) {});
国产ˉ祖宗 2024-10-04 20:39:21

为什么你不使用第二个 div ('#second div') 的 id

http://api.jquery.com/孩子们/

why dontb yu use id of second div ('#second div')

or

http://api.jquery.com/children/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文