如何使用jquery在页面中选择具有特定属性的所有元素?

时间:2013-06-08 08:51:57

标签: jquery

想象一下,我有这个HTML代码:

<div class="all">
    <div class="test">
        <a class="test1" href="#">test</a>
    </div>
</div>

我正在为.js文件中的a.test1编写一些代码。我可能在页面中有更多6或7个div.test。我想选择所有这些代码并更改他们的类。 让我展示我的.js内容:

$("document").ready(function () {
    $(".test1").live("click", function () {
        //Its where I want to select all div.test in the page
    });
});

现在。如何做到这一点。 感谢。

5 个答案:

答案 0 :(得分:1)

尝试以下

$('div.test').each(function(){
    $(this).addClass('testClass');
});

答案 1 :(得分:1)

我建议,如果.test1元素在加载时位于HTML中:

$('.test1').on('click', function () {
    $('div.test').toggleClass('oldClassToRemove newClassToAdd');
});

或者,如果它们之后被添加到div.test元素中(因此在事件被绑定后):

$('div.test').on('click', '.test1', function () {
    $('.test').toggleClass('oldClassToRemove newClassToAdd');
});

请注意,从jQuery 1.7开始,live()已被弃用,并且从jQuery 1.9开始,已从jQuery库中删除;建议使用早于1.7 {j}的jQuery,而不是delegate()

使用live()的可比方法:

delegate()

参考文献:

答案 2 :(得分:0)

尝试使用:

jQuery(".test1").click(function() {
  // Do something there
});

jsFiddle

答案 3 :(得分:0)

仅仅为了添加信息,没有人提到http://api.jquery.com/category/selectors/在哪里解释你在jquery中选择任何元素/元素的每一种方式

答案 4 :(得分:0)

使用此功能。

$("document").ready(function () {
  $(document).on("click","a.test1", function () {

   $('div.test').removeClass('test').addClass('newClass');

  });
});

或者

$("document").ready(function () {
  $(document).on("click","a.test1", function () {

   $('div.test').attr('class', 'newClass');

  });
});