0

我正在使用一段代码,该代码应该从 html 中的标签中提取值。它适用于单个单词,例如“desk”,但不适用于由两个或多个单词组成的 id:<a href='#' id='hello world'> Hello world </a>

在这种情况下,我只得到“你好”这个词,而不是“你好世界”。这是我的代码:

 $('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 只支持一个值。在这种情况下,使用一个类。

于 2013-01-20T19:25:51.950 回答
-1

ID 应该是唯一值,因此其中只有一个值。使用空格不好,我会用下划线替换它们。如果您需要多个值,您可能希望使用类来代替。

但是,这就像您要求的那样工作。

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 回答