0

HTMLのタグから値を抽出することになっているコードを使用しています。'desk' などの 1 つの単語では正常に機能しますが、2 つ以上の単語で構成された ID では機能しません。<a href='#' id='hello world'> Hello world </a>

この場合、「hello world」ではなく「hello」という単語だけが表示されます。これが私のコードです:

 $('ul').on('click', 'li', function(){ 
            var id = $(this).attr('id');
            console.log(id);
     });

複数の単語IDを抽出する方法はありますか? ありがとう。

4

3 に答える 3

4

仕様に従ってid属性にスペースを含めることはできませんが、含めることができたとしても、属性は汎用データを格納するためのより適切な場所です。 sは要素を識別するために使用されます。data-*id

html:

<li data-value="hello world"></li>

js:

$('ul').on('click', 'li', function(){ 
    var val = $(this).data('value');
    console.log(val);
});
于 2013-01-20T19:39:31.950 に答える
-1

ID は 1 つの値のみをサポートします。その場合は、クラスを使用してください。

于 2013-01-20T19:25:51.950 に答える
-1

ID は一意の値である必要があるため、値は 1 つだけです。スペースを使用するのはよくないので、アンダースコアに置き換えます。複数の値が必要な場合は、代わりにクラスを使用することをお勧めします。

ただし、これはあなたが求めているように機能します。

HTML:

<li id='hello_world'> Hello world </li>

JS:

$('li').on('click', function(){ 
        var id = $(this).attr('id');
        alert(id);
});
于 2013-01-20T19:28:00.803 に答える