我正在使用一段代码,该代码应该从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?感谢。
答案 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);
});