Javascript jQuery$(此)选择器不工作
我正在尝试制作一个jquerycarousel插件,通过向它添加一些附加功能,使它更具动态性Javascript jQuery$(此)选择器不工作,javascript,jquery,Javascript,Jquery,我正在尝试制作一个jquerycarousel插件,通过向它添加一些附加功能,使它更具动态性 $("ul#carousel").roundabout(); $("ul#carousel li").click(function() { var id = $(this).attr("id"); var id_num = id.substr(-1); for( var i=0;i<4;i++) { if(i != id_num)
$("ul#carousel").roundabout();
$("ul#carousel li").click(function() {
var id = $(this).attr("id");
var id_num = id.substr(-1);
for( var i=0;i<4;i++)
{
if(i != id_num)
{
$("li#list_"+ i +" .table_box").attr("class", "table_box");
}
}
$(this +" .table_box").attr("class", "sub_table_box");
});
在我的jquery-1.7.min.js文件中
我认为这可能与插件脚本与另一个js文件冲突有关。但是,除非我尝试错误,否则jquery noconflict无法解决任何问题。这根本不是jquery和DOM API的工作方式
此
是一个HTML元素,因此不能仅通过字符串连接它来查询其子元素。改变
$(this +" .table_box")
到
for循环内部的元素呢?我试着使用$(this).find(“li#list_uu”+I+”.table_box”).attr(“class”,“table_box”);但那没用 那是因为
这个已经是
。可以使用以下内容替换整个循环:
$(this).siblings().find('.sub_table_box').removeClass('sub_table_box').addClass('table_box');
总结一下(并添加一些其他样式改进):
for循环内部的元素呢?我试着使用$(this).find(“li#list_uu”+I+”.table_box”).attr(“class”,“table_box”);“但那没用!”兰斯,那该怎么办?它说“在这个元素中找到具有特定id的元素中的类“table_box”的元素,并将它们的类设置为“table_box”,这有点毫无意义。这是常识性的jQuery。在10分钟内完成6次投票?RTFM people lol.@AlienWebguy对此没有异议。“减慢了速度”?什么,比如开发?
$(this +" .table_box")
$(this).find(".table_box")
$(this).siblings().find('.sub_table_box').removeClass('sub_table_box').addClass('table_box');
$("ul#carousel").on('click', 'li', function() {
$(this)
.addClass('sub_table_box');
.siblings()
.find('.sub_table_box')
.removeClass('sub_table_box')
.addClass('table_box');
});