【问题标题】:Finding THIS div or THAT div with AJAX / jQuery使用 AJAX / jQuery 查找 THIS div 或 THAT div
【发布时间】:2015-10-20 18:52:57
【问题描述】:

您可以像这样通过 AJAX(使用 this plug-in)加载跨域 div:

 $.ajax({
   url: 'http://externalurl.com',
   type: 'GET',
   success: function(res) {
     var artwork = $(res.responseText).find('.div1 img');
     $('.mydiv').append(artwork);
   }
 });

这将返回div1 中的img 标签。但是是否可以使用 2 个单独的 divs 来搜索源站点上的内容?

例如(显然是伪代码):

 var artwork = $(res.responseText).find('.div1 img') or .find('.div2 img');

知道 div1 和 div2 永远不会在源站点的同一页面上。源站点只会有 div1 或 div 2,但绝不会同时拥有。

【问题讨论】:

  • 你有适合这种情况的 sn-p 或 jsfiddle 吗?
  • $(res.responseText).find('.div1 img, .div2 img')

标签: javascript jquery ajax get


【解决方案1】:

是的,一旦你调用$(res.responseText),jQuery 会将其解析为 DOM 树。

然后您可以使用常规的 jQuery 选择器(包括复合选择器)来“找到”正确的节点。

$(res.responseText).find('.div1 img,.div2 img');

Documentation:

多重选择器(“selector1, selector2, selectorN”)

说明:选择所有指定的组合结果 选择器。 (添加的版本:1.0j)

Query( "selector1, selector2, selectorN" )

  • selector1:任何有效的选择器。
  • selector2:另一个有效的选择器。
  • selectorN:更多的有效选择器随你喜欢。

您可以指定任意数量的选择器组合成一个 结果。这种多表达式组合器是一种有效的方法 选择不同的元素。 DOM元素的顺序 返回的 jQuery 对象可能不相同,因为它们将在 文件顺序。这个组合器的替代品是.add() 方法。

【讨论】:

    猜你喜欢
    • 2014-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多