0

こんにちは私はajaxが返した結果を含むボックスを表示します。これには1から4のリスト要素が含まれています

下矢印を押すと、次のリスト項目に色付きの境界線が設定されます。'.next()'で試してみました。何が起こるかというと、下矢印を押すと、最初に強調表示されたものを除くすべての要素が強調表示されませんでした。助けて

$('.input_for_chain_and_target').keyup(function(){data_fr_chain_and_target(this.id);});
$('.input_for_chain_and_target').bind('keydown',controlling_with_nav_keys);



function controlling_with_nav_keys(event){
var keycode = (event.keyCode ? event.keyCode : event.which);
if(keycode==40){//alert('down');
    $('.target_frnd_content').next().css('border','2px dashed #6698FF');
}
else if(keycode==38){
    $('.target_frnd_content').prev().css('border','2px dashed #6698FF');
}

貼り付けようとしましたが、phpコードによるhtmlの生成により歪んでしまいます

これがおおよそのコピーです

<li style='border:1px solid #F4F3F0;' class='target_frnd_content' id=\"$target_frnd_content_id\">
$ usr_img $ usr_namex(追加メッセージ)

4

4 に答える 4

0

あなたのhtmlコードを提供してください、next()は間違いなく次のリストアイテムを選択するはずです。正しいリストを選択していますか

  • クラス名(.target_frnd_content)を使用しているアイテム?

  • 于 2011-04-16T19:44:16.433 に答える
    0

    さて、ここに問題があると思います:

    $('.target_frnd_content').next().css('border','2px dashed #6698FF');
    

    そのはず:

    $('.target_frnd_content').next().css({'border':'2px dashed #6698FF'});
    

    スタイリングを追加するときは、JSONオブジェクトをcss()メソッドに渡す必要があることに注意してください。お役に立てば幸いです。

    于 2011-04-16T19:57:42.340 に答える
    0

    わかりました。わかりました。基本的に、「target_frnd_content」というクラス名でアイテムを選択します。残りのアイテムには同じクラス名を付けたと思います。そのため、すべてのアイテムが同じクラス名であるため、次のすべてのアイテムが選択されます。各リスト項目を一意に識別する必要があります。たとえば、各項目にid属性を追加する必要があります。他にできることは次のようなものです。

    <ul class="some_list">
      <li class="current">Item one</li>
      <li>Item two</li>
      <li>Item three</li>
    </ul>
    

    次に、JavaScriptで次のように言います。

    var current = $('li.current');
    current.removeClass('current').next().addClass('current');
    

    これで、次のようなcssファイルの現在のクラスに必要なスタイルを設定できます。

    li.current{border: 2px dashed #6698FF;}
    
    于 2011-04-16T20:17:20.887 に答える
    0

    試す:

    $('.target_frnd_content').next().css({'border-width','2px', 'border-style': 'dashed', 'border-color': '#6698FF'});
    
    于 2011-04-16T20:17:50.417 に答える