使用jquery的append方法添加了一个div,然后取不到div中的元素,怎么办谢谢各位大神!

使用jquery的append方法添加了一个div,然后取不到div中的元素,怎么办谢谢各位大神!,第1张

$(document)ready(function(){

$each($("shop-cartbutton"), function(i,val){

 $(this)click(function(){

 $("ng-isolate-scope")show();

 $("#shopbasket ng-isolate-scope")append("<div class='shop-cartbasket-tablerow'>"+

         "<div class='cell itemname'>"+$(this)parents("span")siblings()find("h3")text()+"</div>"+

"<div class='cell itemquantity'>"+

"<button  id='reduce'>-</button>"+

"<input class='ng-pristine ng-valid' value='1'>"+

"<button id='addtion'>+</button>"+

"</div>"+

"<div class='cell itemtotal ng- binding'>"+$(this)parents("span")prev()text()+"</div>"+

"</div>");

$("#reduce")on("click",function(){

                         alert("122121");

                         });

 });

  });

});

因为这个div是代码生成的,那么事件就在生成的代码跟着写。我测试是可行的

是因为采用的css选择器不对,所以没有找到添加的元素

正确的用法如下:

比如ulappend添加一个(<li id='b'></li>)

就要这么写:xxappend("<li id='b'></li>");

那么选择的时候要这么来:$("#a li")length > 0这样就找到了。

附:

append() 方法在被选元素的结尾(仍然在内部)插入指定内容。

这是因为ajax方法是异步执行的,它运行后并不会等待后台返回数据,而是立刻执行后续语句,而这时候如果执行consolelog($('#div1 ul li'));,由于后台服务器尚未返回数据,所以div1中是不存在元素对象的。必须把consolelog()放到success中执行,即

$('#div1')html(html);

consolelog($('#div1 ul li'));

以上就是关于使用jquery的append方法添加了一个div,然后取不到div中的元素,怎么办谢谢各位大神!全部的内容,包括:使用jquery的append方法添加了一个div,然后取不到div中的元素,怎么办谢谢各位大神!、jq append添加的html元素 怎么找不到、JQ ajax()方法从服务器端返回数据append()到客户端页面上可以显示,但是console.log()获以不到元素对象等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9798146.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存