HTML标签li中的value值通过js获取错误?

发布于 2021-11-27 05:04:30 字数 885 浏览 832 评论 5

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

德意的啸 2021-11-30 05:14:50

感谢你的回答。我不是不知道怎么获取,而是获取的时候值出现问题,现在这个问题已经在LS的回复中解决了。 而且你getElementById()方法得到一个节点,怎么就可以通过迭代这个节点来获取它子标签下的值呢?你应该是粗心写错了吧。

离不开的别离 2021-11-30 04:21:25

回复
var objNodes=document.getElementById('test_id').getElementByTagName('li');第一句写错了

归属感 2021-11-30 03:21:54
//用原生的代码也很简单能够做到
var objNodes=document.getElementById('test_id');
var sValue='';
for(var i=0;i<objNodes.length;i++){
   s+=objNodes[i].getAttribute('value');
}
alert(s);

背叛残局 2021-11-29 15:23:36

感谢你的回答,我试了一下你的方法,跟我打印出来的值时一样的,我查了一下,原因在于HTML的li标签的属性value是有规定的:规定列表项目的数字。所以它的value只能是数字,存了其他例如字母或者其他字符都是无效的。 我现在的解决方法是,li中的value属性改成val属性替代,这样attr('val');就能获取到完整的信息了。

恋你朝朝暮暮 2021-11-29 04:57:07

补充我li中的value值存的是三个以上字段的值,用什么分隔符才不会让js获取的时候出现这样的错误?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文