jQuery从html标签中提取属性id

时间:2013-01-20 19:21:47

标签: javascript jquery html tags

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

在这种情况下,我只会得到'hello'这个词,而不是'hello world'。 这是我的代码:

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

有没有办法提取多个单词ID?感谢。

3 个答案:

答案 0 :(得分:4)

id属性不能包含空格according to the spec,但即使可以,data-*属性也是存储通用数据的更好位置。 id用于标识元素。

HTML:

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

JS:

$('ul').on('click', 'li', function(){ 
    var val = $(this).data('value');
    console.log(val);
});

答案 1 :(得分:-1)

ID仅支持一个值。在这种情况下,请使用一个类。

答案 2 :(得分:-1)

ID应该是唯一值,因此只有一个值。使用空格很糟糕,我会用下划线替换它们。如果您需要多个值,则可能需要使用类。

但是,这就像你要求的那样。

HTML:

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

JS:

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