giano 大佬有话说 : 2019-12-30 14:16:57
请教一个JQuery获取动态添加元素的文本的问题
本帖最后由 giano 于 2019-12-30 14:24 编辑
菜鸟请教,问题描述如下:
A页面内有若干个详情页面的链接(B1、B2、B3)。我的需求是从B1、B2、B3这些详情页面中获取某个元素的值。我用JQuery的load方法已经拿到了,并在A页面里用JQuery新建了div暂时存放:
<div id="mydiv"><a class="studentid">S-201901</a></div>
这个div已经正确显示在A页面上了。我的目的是获取“S-201901”这个文本值,在A页面里进行一些操作。但是我用JQuery获取不到这些新创建的div的文本,$(".studentid").text()是空的,我百度了一下,说是JQuery是在页面加载的时候去获取元素的,后期添加的元素获取不到。
那么请问,如何才能得到“S-201901”这个文本呢?干着急没办法啊!
请大家不吝指教!谢谢。
Mr. 大佬有话说 : 2019-12-30 14:21:02
A页面是怎么包含其它页面的,iframe ?
giano 大佬有话说 : 2019-12-30 14:22:58
Mr. 大佬有话说 : 2019-12-30 14:21
A页面是怎么包含其它页面的,iframe ?
其实也不是包含,就是A页面含有B页面的URL,详情页。
imnpc 大佬有话说 : 2019-12-30 14:23:02
搜下$(document).on
前几天遇到类似问题
Mr. 大佬有话说 : 2019-12-30 14:28:54
giano 大佬有话说 : 2019-12-30 14:22
其实也不是包含,就是A页面含有B页面的URL,详情页。
你把 $(".studentid").text() 放在 load 之后执行呗,楼上说的 on 只适用于绑定事件,如果是你要对文本有其它操作 on 是没用的,就在 load 的回调函数中执行就好了
https://www.runoob.com/jquery/ajax-load.html 看第三个参数 callback
Evan 大佬有话说 : 2019-12-30 14:41:28
这两个方式都不行吗?
$(document).ready(function(){
console.log($(".studentid").text())
})
window.onload=function(){
console.log($(".studentid").text())
}
giano 大佬有话说 : 2019-12-30 15:13:22
Evan 大佬有话说 : 2019-12-30 14:41
这两个方式都不行吗?
试了,log都是空的。
giano 大佬有话说 : 2019-12-30 15:19:10
Mr. 大佬有话说 : 2019-12-30 14:28
你把 $(".studentid").text() 放在 load 之后执行呗,楼上说的 on 只适用于绑定事件,如果是你要对文本有 …
谢谢!您真是大佬,这方法管用。
wangjianjilei 大佬有话说 : 2019-12-30 15:20:01
这个是dom生命周期问题
早期版本用冒泡解决
1.7版本之后可以这么获取
$("body").on("click","#myid",function(){
alert(1)
})
wangjianjilei 大佬有话说 : 2019-12-30 15:22:49
这个是dom生命周期问题
早期版本用冒泡解决
1.7版本之后可以这么获取
$("body").on("click",".studentid",function(){
$(this).text()
})
#5的方法也可以