jquery 动态添加html元素后 无法继续触发

jquery 动态添加html元素后 无法继续触发,第1张

你的这个分两种情况 1、你的新数据累加在旧数据上的 2、你的新数据要覆盖原来的数据 两种类型都给你写一下吧,解决如下: <!DOCTYPE HTML><html><head><title>Page Title</title> </head><body> <!-- 点击累加数据的时候,原来的 1 和 2 等都不删除 --> <dl id="dl1"> <dd>1</dd> <dd>2</dd> <dt><a href="javascript:">累加数据</a></dt> </dl> <!-- 点击覆盖的时候,原来的所有数据要删除 --> <dl id="dl2"> <dd>1</dd> <dd>2</dd> <dt><a href="javascript:">新数据覆盖旧数据</a></dt> </dl></body></html><script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script><script type="text/javascript"> var i = 2 // 绑定两个点击方法$("#dl1 a").click(function() {AjaxGetData1() }) $("#dl2 a").click(function() {AjaxGetData2() }) // 模拟 ajax 获取数据,这里我就随便写了一个,用循环生成的了// 数据累加function AjaxGetData1() {var data = "<dd>" + (i + 1) + "</dd><dd>" + (i + 2) + "</dd>" i = i + 2 // 直接把 ajax 获取的数据,加到 id="dl1" 下的 dt 之前(before)$("#dl1 dt:eq(0)").before($(data)) } // 数据覆盖function AjaxGetData2() {var data = "<dd>" + (i + 1) + "</dd><dd>" + (i + 2) + "</dd>" i = i + 2 // 先删除 id="dl2" 下的所有 dd,然后再把新获取的 data 加到 id="dl2" 的 dt 之前$("#dl2 dd").remove() $("#dl2 dt:eq(0)").before($(data)) }</script>

你定义是js方法

为啥用jquery each循环呢

你直接用for循环就是了 循环依据是arr的下标

然后吧值拼接一下用 以下都行

$("#thecity").text()

$("#thecity").html()

append(content | fn)

appendTo(content)

prepend(content | fn)

prependTo(content)

外部插入

after(content | fn)

before(content | fn)

insertAfter(content)

insertBefore(content)

包裹

wrap(html)

wrap(elem)

wrap(fn)

unwrap()

wrapAll(html)

wrapAll(elem)

wrapInner(html)

wrapInner(elem)

wrapInner(fn)

替换

replaceWith(content)

replaceAll(selector)


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

原文地址:https://54852.com/bake/11593387.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存