1

如果单击,我试图获取一个选项值,并将其分配给变量。然后这个变量被调用作为选择器的一部分来隐藏一个元素。我正在使用此代码,但如果我使用变量它不起作用:

     $("#State ul li").live('click', function (event) {
    var currentstate = $(this).children('a').html();

    if ( $(this).hasClass("selected") ) {
        $("#state_"+currentstate).show();
    };

 });

我有一个div#state_arizonawith 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>

有什么帮助吗?

4

2 回答 2

3

试试这个:

$("#State ul li").live('click', function (event) {
    var currentstate = $(this).children('a').text();

    if ($(this).hasClass("selected")) {
        $("#state_" + $.trim(currentstate).toLowerCase()).show();
    };
});

请注意,id 选择器区分大小写。

于 2012-11-17T20:38:46.743 回答
0

一些东西。

如果您有能力重组 HTML,请执行以下操作:

<ul>
  <li>
    <a href="#" class="ajax-filter-label" data-state="alaska">
    <span class="checkbox"></span> Alaska </a>
 </li>
</ul>

然后在你的 JS 中,你可以使用 .data 来获取 state 的值,而不用想它会是什么样子:

$("#state_"+ currentstate.data('state')).show();
于 2012-11-17T20:41:58.663 回答