想象一下,我有这个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
});
});
现在。如何做到这一点。 感谢。
答案 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)
答案 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');
});
});