当我使用jquery版本1.7.2时,如果我创建一个带有分配'值'属性有一些字符串。然后当我试图用attr或prop方法得到它时,它给了我' 0' 0当我使用原生的getAttribute方法时,它会返回字符串,为什么会这样?我怎样才能使用jQuery获取字符串值?
以下是fiddle。
<ul>
<li id='strValue' value="someValue">test</li>
<li id='intValue' value="123">test</li>
</ul>
通过将属性名称从值更改为任何其他名称将会起作用我知道,但我想知道为什么使用&#39; value&#39;具体来说,它不起作用?
答案 0 :(得分:1)
value
不是li
标记的属性。如果您愿意,请使用data-value
。
<ul>
<li id='strValue' data-value="someValue">test</li>
<li id='intValue' data-value="123">test</li>
</ul>
<script>
alert($('#intValue').attr('data-value'));
alert($('#strValue').attr('data-value'));
</script>
答案 1 :(得分:1)
li
个元素没有value
属性。要使用元素存储自定义信息,您应使用data
属性。试试这个:
<ul>
<li id="strValue" data-value="someValue">test</li>
<li id="intValue" data-value="123">test</li>
</ul>
$('li').click(function () {
var thisProp = $(this).data('value');
console.log(thisProp);
});
答案 2 :(得分:-2)
您不能使用&#39; value&#39; li标签中的属性。此外,如果您使用它应该只保持数值。
而不是&#39;价值&#39;你可以使用&#39;数据值&#39;属性并可以设置其值。
然后,您可以使用.attr()方法获取字符串。
这是更新的小提琴。
$(this).attr('data-value');