如果点击,我正在尝试获取选项值,并将其分配给变量。然后将此变量称为选择器的一部分以隐藏元素。我正在使用此代码,但如果我使用变量它不起作用:
$("#State ul li").live('click', function (event) {
var currentstate = $(this).children('a').html();
if ( $(this).hasClass("selected") ) {
$("#state_"+currentstate).show();
};
});
我有div#state_arizona
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>
任何帮助?
答案 0 :(得分:2)
试试这个:
$("#State ul li").live('click', function (event) {
var currentstate = $(this).children('a').text();
if ($(this).hasClass("selected")) {
$("#state_" + $.trim(currentstate).toLowerCase()).show();
};
});
请注意,id的选择符区分大小写。
答案 1 :(得分:0)
一些事情。
如果您能够重构HTML,请执行以下操作:
<ul>
<li>
<a href="#" class="ajax-filter-label" data-state="alaska">
<span class="checkbox"></span> Alaska </a>
</li>
</ul>
然后在你的JS中你可以使用.data来获取状态的值,而不用想知道它会是什么样子:
$("#state_"+ currentstate.data('state')).show();