我正在尝试将一个类分配给与其父级id匹配的跨度但是唉,它不起作用。我失败的jQuery看起来像这样:
$("span.genre").click(function(e){
var genre_id = $(this).attr('id');
$('span.hidden '+genre_id).addClass('sub_genre');
});
和原始html:
<div id="genres">
<span class='genre' id='1'>Rock</span>
<span class='hidden 1'>Alternative rock</span>
<span class='hidden 1'>Art rock</span>
<span class='hidden 1'>Christian rock</span>
<span class='hidden 1'>Experimental rock</span>
<span class='genre' id='5'>R&B/soul</span>
<span class='hidden 5'>Contemporary R&B</span>
<span class='hidden 5'>Disco</span>
<span class='hidden 5'>Soul</span>
<span class='hidden 5'>Pop R&B</span>
答案 0 :(得分:0)
你有错误的选择器来定位span elements.use:
$("span.genre").click(function(e){
var genre_id = $(this).attr('id');
$('span.hidden.'+genre_id).addClass('sub_genre');
});
<强> Working Demo 强>
答案 1 :(得分:0)
您只是在span.hidden.
错过了一段尾随句号:
$("span.genre").click(function(e){
var genre_id = $(this).attr('id');
$('span.hidden.'+genre_id).addClass('sub_genre');
});
<强> jsFiddle example 强>
你有什么,正在寻找带有隐藏类的span元素,以及1或5的后代元素(不存在)。
答案 2 :(得分:0)
只是一个小错误。你控制了两个类,所以你需要在选择器中链接它:
$('span.hidden.'+genre_id).addClass('sub_genre');
答案 3 :(得分:0)
你也可以这样做:
$("span.genre").click(function(e){
$(this).nextUntil('.genre').addClass('sub_genre');
});