解决ajax动态生成的数据无法获取html标签的属性值

ajax动态生成的数据如何获取html标签的属性值

这是我ajax动态生成的数据:

'<tr><td width="10%" align="center" class="uartilceid">'+data[i].artilceid+'</td><td width="60%" align="center"><a target="_blank" href="/article/'+data[i].artilceid+'">'+data[i].headline+'</a></td><td width="8%" align="center">'+data[i].readcount+'</td><td width="8%" align="center">'+data[i].replycount+'</td><td width="14%" align="center"><a href="#" class="'+data[i].artilceid+'" onclick="cancleCollection()">取消收藏</a></td>'
window.onload = $(function () {
         $.ajax({
            url: "/collection",
            type: "get",
            success: function (data) {
                for (var i = 0, len = data.length; i < len; i++) {
                    $("#coll").append('<tr><td width="10%" align="center" class="uartilceid">'+data[i].artilceid+'</td><td width="60%" align="center"><a target="_blank" href="/article/'+data[i].artilceid+'">'+data[i].headline+'</a></td><td width="8%" align="center">'+data[i].readcount+'</td><td width="8%" align="center">'+data[i].replycount+'</td><td width="14%" align="center"><a href="#" class="'+data[i].artilceid+'" οnclick="cancleCollection()">取消收藏</a></td>')
                }
            }
        })
    })

生成的数据列表:

<tbody id="coll">
     <tr>
	     <td width="10%" align="center" class="uartilceid">1</td>
	     <td width="60%" align="center">
	     	<a target="_blank" href="/article/1">漫谈:强哥在强哥学堂想对朋友们说的一些话</a>
	     </td>
	     <td width="8%" align="center">1714</td>
	     <td width="8%" align="center">39</td>
	     <td width="14%" align="center">
	     	<a href="#" class="1" onclick="cancleCollection()">取消收藏</a>
	     </td>
     </tr>
     <tr>
	     <td width="10%" align="center" class="uartilceid">2</td>
	     <td width="60%" align="center">
		     <a target="_blank" href="/article/2">漫谈:已经有蜗牛学院了,为什么还要创办强哥学堂?</a>
	     </td>
	     <td width="8%" align="center">2959</td>
	     <td width="8%" align="center">0</td>
	     <td width="14%" align="center">
		     <a href="#" class="2" onclick="cancleCollection()">取消收藏</a>
	     </td>
	  </tr>

获取class值的onclick="cancleCollection(this)"js代码:

 function cancleCollection() {
        var a = $(this).attr("class")
        console.log($(this).attr("class"))
        alert(a)
 }

目标:

当我点击取消收藏onclick="cancleCollection(this)想要获取class属性的值class="'+data[i].artilceid+'",但点击后获取的值却是undefined

原因:

因为这部分是新生成的元素,新生成的元素和一开始就加载的元素是不一样的。

解决办法

$(document).on('click','.canColl',function onoutStat() {
        var data = $(this).attr('id');
        alert(data)
      })
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值