首页 > 解决方案 > >* 在 jQuery .load() 的 url 参数中的意义

问题描述

我正在尝试通过 jQuery 重新加载一个元素,并且很想知道这之间有什么区别

$("#elementID").load(location.href+" #elementID >*");

还有这个

$("#elementID").load(location.href+" #elementID");

标签: jquery

解决方案


>直接子选择器*意思是“任何元素”。所以#elementID > *"表示“所有直接子元素#elementID”。

基本上,这会> *阻止您拥有多个#elementID元素。


当您使用以下方式加载时:

$("#elementID").load(location.href+" #elementID");

然后你会得到:

<div id="elementID">
    <div id="elementID">
        <p>Some Text<p>
        <span>More Text</span>
    </div>
</div>

因此,我们告诉 jQuery 抓取所有元素并将它们加载到页面中:

$("#elementID").load(location.href+" #elementID > *");

然后你会得到:

<div id="elementID">
    <p>Some Text<p>
    <span>More Text</span>
</div>

推荐阅读