HTML标签li中的value值通过js获取错误?
HTML 页面代码:
<ul id="test_id" style="text-align: left;">
<li value="11-22-33"> </li>
<li value="77-88--99"> </li>
</ul>
JS代码:
var li = $("#test_id").find("li");
li.each(function (i) {alert(li.eq(i).attr("value"));
// alert(li.eq(i).val());
});
js打印出来的值为什么是11 和 77 ? li中的value值的分隔符又什么要求吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
感谢你的回答。我不是不知道怎么获取,而是获取的时候值出现问题,现在这个问题已经在LS的回复中解决了。 而且你getElementById()方法得到一个节点,怎么就可以通过迭代这个节点来获取它子标签下的值呢?你应该是粗心写错了吧。
回复
var objNodes=document.getElementById('test_id').getElementByTagName('li');第一句写错了
感谢你的回答,我试了一下你的方法,跟我打印出来的值时一样的,我查了一下,原因在于HTML的li标签的属性value是有规定的:规定列表项目的数字。所以它的value只能是数字,存了其他例如字母或者其他字符都是无效的。 我现在的解决方法是,li中的value属性改成val属性替代,这样attr('val');就能获取到完整的信息了。
补充我li中的value值存的是三个以上字段的值,用什么分隔符才不会让js获取的时候出现这样的错误?