2

想象一下,我有这个 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
    });
});

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

4

5 回答 5

1

试试下面

$('div.test').each(function(){
    $(this).addClass('testClass');
});
于 2013-06-08T08:56:24.377 回答
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.7live()开始,已弃用,从 jQuery 1.9 开始,已从 jQuery 库中删除;并且在 1.7 之前的 jQuery 中delegate()被推荐,而不是live().

可比较的方法使用delegate()

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

参考:

于 2013-06-08T09:02:35.377 回答
0

只是为了添加信息,没有人提到http://api.jquery.com/category/selectors/其中向您解释了在 jquery 中选择任何元素的每一种方法

于 2013-06-08T09:14:18.303 回答
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');

  });
});
于 2013-06-08T09:25:13.757 回答
0

尝试使用:

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

jsFiddle

于 2013-06-08T09:00:42.527 回答