【问题标题】:Jquery variable returning undefined if the Dom object was only one element如果 Dom 对象只有一个元素,则 Jquery 变量返回未定义
【发布时间】:2012-05-16 16:39:23
【问题描述】:

我在我的 wordpress 插件上使用此代码来返回用户在 wordpress 媒体上传器中选择的图像的 src。

如果只有上传者界面返回的图片,这段代码不返回图片src的问题。

Jquery 代码:

window.send_to_editor = function(html) {
alert(html);
imgurlv = jQuery(html).find('img').attr('src');
alert(imgurlv);
     jQuery(targetfield3).val(imgurlv);
     tb_remove();
}

示例:

上传者返回的代码是:

<a class="shutterset_" href='http://localhost/1/wp-content/gallery/bm/01.jpg' title=''><img src='http://localhost/1/wp-content/gallery/bm/thumbs/thumbs_01.jpg' alt='01' class='ngg-singlepic ngg-none' /></a>

img src 是这样返回的:http://localhost/1/wp-content/gallery/bm/thumbs/thumbs_01.jpg

但是如果上传者返回的代码是这样的:

<img src='http://localhost/1/wp-content/gallery/bm/thumbs/thumbs_01.jpg' alt='01' class='ngg-singlepic ngg-none' />

jquery 代码返回 undefined

怎么了?

【问题讨论】:

    标签: jquery wordpress dom html-parsing


    【解决方案1】:

    你可以用:

    imgurlv = jQuery("<div>" + html + "</div>").find('img').attr('src');
    

    问题是,'find' 会查看当前元素的 children。在第二种情况下,img 元素是顶级元素,因此它的所有子元素都没有要查找的 src 属性。

    【讨论】:

      猜你喜欢
      • 2016-11-04
      • 1970-01-01
      • 2015-08-21
      • 2011-03-01
      • 1970-01-01
      • 2016-03-19
      • 2016-01-30
      • 2014-04-10
      • 1970-01-01
      相关资源
      最近更新 更多