jQuery变量作为选择器不起作用
我试图在单击时获取一个选项值,并将其分配给变量。然后,该变量作为选择器的一部分被调用,以隐藏元素。我正在使用此代码,但如果我使用变量,则它不起作用:jQuery变量作为选择器不起作用,jquery,Jquery,我试图在单击时获取一个选项值,并将其分配给变量。然后,该变量作为选择器的一部分被调用,以隐藏元素。我正在使用此代码,但如果我使用变量,则它不起作用: $("#State ul li").live('click', function (event) { var currentstate = $(this).children('a').html(); if ( $(this).hasClass("selected") ) { $("#state_"+cur
$("#State ul li").live('click', function (event) {
var currentstate = $(this).children('a').html();
if ( $(this).hasClass("selected") ) {
$("#state_"+currentstate).show();
};
});
我有一个div#state_亚利桑那
,带有display:none
,我希望在选择特定状态时显示此div
如果我尝试以下操作,div将毫无问题地显示:
if ( $(this).hasClass("selected") ) {
$("#state_arizona).show();
};
这是ul html:
<ul>
<li>
<a href="#" class="ajax-filter-label">
<span class="checkbox"></span> Alaska </a>
</li>
</ul>
-
有什么帮助吗?试试这个:
$("#State ul li").live('click', function (event) {
var currentstate = $(this).children('a').text();
if ($(this).hasClass("selected")) {
$("#state_" + $.trim(currentstate).toLowerCase()).show();
};
});
请注意,按id的选择器区分大小写。有几件事
如果您能够重新构造HTML,请执行以下操作:
<ul>
<li>
<a href="#" class="ajax-filter-label" data-state="alaska">
<span class="checkbox"></span> Alaska </a>
</li>
</ul>
你的HTML是什么样子的?特别是
#State ul
?文本是否像选择器字符串一样小写?选择器区分大小写。还将使用$.trim($(this).children('a').text())
,以便删除任何空白以及任何其他空白html@DavidThomas我已经发布了ul HTML。@charlietfl我尝试了修剪,但仍然没有工作。@DavidThomas抱歉,上面有。太好了,很高兴我帮助了:-)
$("#state_"+ currentstate.data('state')).show();