0

javascript を使い始めたばかりで、次のことをしようとしています:
私の html ドキュメントには、以下のような div 要素と span 要素が含まれています。my-new-id特定の div 子要素の値を格納する変数を作成したいと考えています。続けなければならない唯一の情報は、ユーザー名に基づいているため
、スパンがどうなるかを常に知っているということです。したがって、 fortextの値を取得するにはどうすればよいでしょうか。my-new-iduser1

document.getElementById メソッドを使用して正しい div 要素に移動する方法は既に理解しています。次に、などのjqueryセレクターを使用しようとしました:containsが、行き詰まります。

事前に感謝します。

<div id=1>
<span my-new-id=x>user1</span>
<span my-new-id=y>user2</span>
<span my-new-id=z>user3</span>
</div>

<div id=2>
<span my-new-id=x>user10</span>
<span my-new-id=y>user1</span>
<span my-new-id=z>user30</span>
</div>
4

1 に答える 1

2

jQuery の使用:

var val = $('span:contains("user1")').attr('my-new-id');

いくつかの追加ポイント:

  • 数字で始まる ID は使用しないでください。これは HTML4 仕様では許可されておらず、一部のブラウザーで予期しない動作を引き起こす可能性があります。代わりに、次のように ID の前にアルファベット文字列を付けます。

    <div id="container1">
        ...
    </div>
    
  • data-*存在しない属性を作成する代わりに、属性を使用することをお勧めします。data次のような属性を作成できます。

    <span data-new-id="x">user1</span>
    

    次に、次を使用してこの値を取得できます。

    $('span:contains("user1")').data('newId');
    

    属性名からダッシュが取り除かれ、キャメルケースになっていることに注意してください。

于 2013-01-07T13:51:33.890 に答える