【问题标题】:Using jQuery, how can I get specific text from a remote HTML file?使用 jQuery,如何从远程 HTML 文件中获取特定文本?
【发布时间】:2014-04-17 04:59:11
【问题描述】:

使用 jQuery,我试图获取一些存在于远程 HTML 文件中的文本。

我正在使用带有“复制”类的 filter() 来指定我想要获取远程文件中的哪些文本。

这是我的代码:

$.get('/article.html', function(data) {

    console.log($(data).filter('.copy').text());

});

如果具有“copy”类的元素没有父元素,这似乎可以工作。但是,如果元素有父元素,我将无法获取文本。这是为什么?如果元素有父元素,有没有办法过滤响应?

【问题讨论】:

    标签: jquery html filter get


    【解决方案1】:

    使用 jquery 处理 .load 的方法:

    $.get('/article.html', function(data) {
    
        console.log( $("<div>").html(data).find(".copy").text() );
    
    });
    

    甚至

    $("#myEl").load("/article.html .copy");
    

    【讨论】:

    • 这行得通。谢谢!出于好奇,为什么要以 $("
      ") 开头?那有什么作用?另外,有没有办法使用 load() 而不实际在 DOM 上插入响应?也许你想在对它做一些事情之前修改它。
    • 不,如果你想修改它,你会想使用$.get$("&lt;div&gt;") 创建一个 div。我的代码创建一个 div,将响应附加到它,然后找到所需的元素。由于选中的元素是data中所有html的父元素,我们可以确定.find会找到它。
    • 好酷。感谢您的澄清。但是为什么不能使用 $(data).find('.copy').text() 呢?
    • 因为 $(data) 可能导致
      成为顶级元素。如果它是顶级元素,.find 将尝试在其中搜索。
    猜你喜欢
    相关资源
    最近更新 更多
    热门标签