itanℒ
2019-09-04 15:26
采纳率: 64.1%
浏览 1.0k

for循环获取标签里的文本值问题...

图片说明

图片说明

打印第一个没问题,但是加上text()就报错

要如何循环才能获取...

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • Kevin.Y.K 2019-09-04 15:40
    已采纳
    $('.optioned').siblings().children('.ticket-num').each(function(){
        console.log($(this).text());
    })
    
    点赞 评论
  • Kuukiliselessness 2019-09-05 14:17

    你的循环没问题。但是用错了方法。原生的dom 对象是没有 .text()方法的。你应该用jq的对象才能用jq的 .text()方法。

    像这样 $('#el').text()


    所以正确的写法 应该是

    var ticket = $(".el").siblings().children(".el-children");// 这个时候ticket 是jq对象集合
    for(var i = 0,len = ticket.length; i< len; i++){
      console.log( ticket[i] ) // 但是 ticket[i] 却是 dom对象
      console.log( ticket[i].innerText ) // 他 只能使用原生方法
      console.log( $(ticket[i].text() ) ) //  所以,你需要转换成jq对象 $( ticket[i] ) 才能用jq的方法 .text()
    }
    
    
    点赞 2 评论
  • 代码的灵魂是bug! 2019-09-04 15:31

    改成ticket[i].val()试试

    点赞 评论
  • qq_22847605 2019-09-04 15:56

    这不是js数组,不可用for,这是dom对象,你可以通过dom循环函数each

    点赞 评论

相关推荐 更多相似问题