首先,我有这个无序列表:
<ul class="carl">
<li id='2' value='test'>One</li>
<li>Two</li>
<li>Three</li>
</ul>
我可以通过这样的方式通过jQuery访问它:
alert($('.carl li')[0].id);
它工作正常,id
被正确警告,但如果我这样做:
alert($('.carl li')[0].value);
然后我得到0
,即使我在元素上设置了值。
导致此行为的原因是什么?
答案 0 :(得分:2)
已经有一些正确的答案,但我想添加一个更简短,更简洁的方法来做同样的事情:
alert($('.carl li').eq(0).attr("value"));
现场演示:
alert($('.carl li').eq(0).attr("value"));
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="carl">
<li id='2' value='test'>One</li>
<li>Two</li>
<li>Three</li>
</ul>
&#13;
答案 1 :(得分:1)
您应该使用attr()
方法来读取属性:
alert($('.carl li').eq(0).attr('value'));
答案 2 :(得分:1)
var valu = $('.carl li')[0];
alert($(valu).val());
答案 3 :(得分:0)
<li>
没有声明的HTML5属性value
,请执行以下操作:alert($('.carl li').eq(0).text());
但您也可以为有效的HTML5执行此操作:
//HTML
<ul class="carl">
<li id='2' data-value='test'>One</li>
<li>Two</li>
<li>Three</li>
</ul>
//JAVASCRIPT
alert($('.carl li').eq(0).attr('data-value'));