Maison > Questions et réponses > le corps du texte
Utiliser load dans jquery pour charger une autre page html, peut-il exploiter des éléments dans une autre page
?大家讲道理2017-05-19 10:38:43
Si vous souhaitez charger complètement une sous-page dans cette page, il n'est pas recommandé de la charger directement sur les éléments de cette page ;
Pensez-vous que cette solution serait meilleure :
L'approche générale consiste à charger d'abord cette sous-page dans une iframe en modifiant l'attribut src (afin que la sous-page et la page parent aient des portées indépendantes, minimisant ainsi divers conflits
) ;L'étape suivante consiste à obtenir l'objet window dans la sous-page iframe. À l'avenir, vous pourrez utiliser l'objet window de cette sous-page pour obtenir les éléments correspondants de la sous-page et effectuer des opérations :
<iframe src="动态替换这个属性即可"></iframe>
// 获取iframe子页面的window对象
var iframeWindow = document.getElementById('iframe的id').contentWindow;
// 获取子页面的元素
var element = iframeWindow.document.getElementById('子页面中某个元素的id');
// jquery版
var iframeWindow = $('iframe的选择器').prop('contentWindow');
var element = $(iframeWindow).find('要获取元素的选择器');
巴扎黑2017-05-19 10:38:43
index est la page en cours de chargement
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<p class="demo">
我是load页面
</p>
</body>
</html>
test est la page qui exécute load
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<p id="p">
</p>
</body>
<script src="jquery.js"></script>
<script>
$("#p").load("index.html",function () {
console.log($(".demo").html())//打印出来
$(".demo").html(
"<span>load出来的页面 更改内容</span>" +
"<span>哈哈哈</span>"
)
})
</script>
</html>