1

以下は私が持っているコードです

function getName(selectName, selectedValue) {
    var partices = $('#dk_container_'+selectName);
    var selectlbl = partices.find('.dk_label');
    var ul = partices.find('.dk_options_inner');

    $('li').each(function () {
        if ($('a', this).text() == selectedValue) {
            $(this).addClass('dk_option_current');
            selectlbl.html(selectedValue);
        }
        else {
            $(this).attr('class', '');
        }
    });
}

問題は$(this).addClass('dk_option_current');. この特定の行は、if 条件が満たされる要素にクラスを挿入するためのものdk_option_currentです。liこのselectlbl.html(selectedValue);行は正しく機能しています。しかし、追加したいクラスはそれに応じてまったく追加されていません。何か間違っていたらご指摘よろしくお願いします。

HTML

 <a class="dk_toggle" style="width: 300px;">
    <span class="dk_label"></span>
    </a>
    <div class="dk_options">
    <ul class="dk_options_inner">
    <ul class="dk_options_inner">
<li class="">
<a data-dk-dropdown-value=""> </a>
</li>
<li class="">
<a data-dk-dropdown-value="val1">Text1</a>
</li>
<li class="">
<a data-dk-dropdown-value="val2">Text2</a>
</li>
<li class="">
<a data-dk-dropdown-value="val3">Text3</a>
</li>
    </ul>
    </div>
4

1 に答える 1

1

これを試して:

function getName(selectName, selectedValue)
{
var partices = $('#dk_container_'+selectName);
 var selectlbl=partices.find('.dk_label');
 var ul=partices.find('.dk_options_inner');
 $('li').each(function () {
    var elem = $(this);
    if($('a',this).text()== selectedValue){

      elem.addClass('dk_option_current');
      selectlbl.html(selectedValue);
    }
    else{
      elem.attr('class','');
   }
 });
}
于 2013-01-30T10:49:44.280 に答える