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

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

假设你的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")

})

假设你有一个主页面index.php

内容如下

<script type="text/javascript" src="ajax.js"></script>

<a href="#" onclick="ygg('o')">o</a>

<div id="divID"></div>

这是ajax.js页面如下

var xmlHttp

function $_xmlhttprequest(){

if(window.ActiveXObject){

xmlHttp= new ActiveXObject('Microsoft.XMLHTTP')

}else if(window.XMLHttpRequest){

xmlHttp = new XMLHttpRequest()

}

}

function ygg(url){

$_xmlhttprequest()

xmlHttp.open("GET","ygg.php?"+url,true)//通过该地址得到内容

xmlHttp.onreadystatechange=byphp//准备 变量

xmlHttp.send(null)//发送

}

//方法

function byphp(){

if(xmlHttp.readyState==4){

var text1 = xmlHttp.responseText

document.getElementById('divID').innerHTML = text1

}

}

顺便说下,这里有个ygg.php是得到内容的,最简单的,你可以直接

<?php

echo $_GET[id]

?>

1、我们先引入jquery的脚本文件。

2、在html里,我们在一个div里有内容「百度」。

3、后面添加一个按钮,有一个changeText的事件函数。

4、在changeText方法里,我们先使用jquery通过id获得对应的div。

5、然后使用jquery的html方法来直接设置新的文字内容就行了。

6、点击按钮后,div的文字内容变成「百度知道」了。


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

原文地址: http://outofmemory.cn/bake/11548897.html

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

发表评论

登录后才能评论

评论列表(0条)

保存