You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用jQuery从同域页面加载指定HTML元素的问题及解决方法

使用jQuery从同域页面获取特定元素的问题及解决方法

问题场景

我尝试用jQuery从同域的另一页面中获取特定元素,但最初找到的代码无法生效。

目标页面(mysampleurl.com/postpageslist)的HTML结构

<html>
<div class="postoutercontainer">
    <div class="postouter">
        <div class="post">
            <div class="postTITLE">
                <a href="#samplepost">POST1</a>
            </div>
        </div>
    </div>
</div>

<div class="postoutercontainer">
    <div class="postouter">
        <div class="post">
            <div class="postTITLE">
                <a href="#samplepost">POST2</a>
            </div>
        </div>
    </div>
</div>

<div class="postoutercontainer">
    <div class="postouter">
        <div class="post">
            <div class="postTITLE">
                <a href="#samplepost">POST3</a>
            </div>
        </div>
    </div>
</div>

<div class="postoutercontainer">
    <div class="postouter">
        <div class="post">
            <div class="postTITLE">
                <a href="#samplepost">POST4</a>
            </div>
        </div>
    </div>
</div>

<div class="postoutercontainer">
    <div class="postouter">
        <div class="post">
            <div class="postTITLE">
                <a href="#samplepost">POST5</a>
            </div>
        </div>
    </div>
</div>
</html>

初始尝试的无效代码(mysampleurl.com/targetpage)

<div id="samplediv">
    
</div>
<script>
  $('#samplediv').load('/postpageslist .postoutercontainer p:lt(POST3)');
</script>

解决方法

初始代码失效的原因:

  • 目标页面中不存在<p>元素,选择器里的p匹配不到任何内容
  • :lt()选择器是按元素索引(数字)进行筛选,不能直接传入文本值POST3

改用:contains()选择器,它可以匹配包含指定文本的元素,最终可行代码如下:

$('#samplediv').load('/postpageslist .postoutercontainer:contains(POST3)');

内容的提问来源于stack exchange,提问作者terdexx pogi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 19:31:02