求助!ajax+jquery+动态创建的元素节点 我通过ajax请求A页面中的div元素,加载到B页面中去。

这个div元素中包含很多后代元素,其中有一个p元素和button元素。
我通过delegate委托捕捉到button元素的click事件,在click事件里面要如何取到p元素节点呢?

假设你的HTML结构如下:

<div>
    <div>1</div><ul><li>2</li></ul>
    <p>这是P</p>
    <button>按钮</button>
</div>

因为div标签里的内容是你ajax获取后加载进来的,属性动态添加的,绑定事件,推荐用on,当然delegate也一样。

//因为你div内的内容是动态添加的,但这个div肯定不是吧,
//所以把事件绑定在div上,当发生点击时,判断点击的如果是按钮的话,就执行我们要做的事
//这就是jquery是实现为未来元素绑定事件的方法。
$("div").on("click","button",function(e){
    var $this=$(e.target);//这个就是被点击到的按钮
    var $parent=$(this).parent("div");//这个就是div了
    //获取到div了,我们在直接查找里面的p就行了:
    var $p=$parent.find("P");
});

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-04-09
click属于什么?属性,通过获取属性的方法就可以获取到button元素,
然后查找,它的后代的p元素
第2个回答  2017-01-05
可以用后代