如果Dom对象只有一个元素,则返回未定义的Jquery变量

如果Dom对象只有一个元素,则返回未定义的Jquery变量,jquery,wordpress,dom,html-parsing,Jquery,Wordpress,Dom,Html Parsing,我在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

我在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的返回方式如下:

但如果上传程序返回的代码是:

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

jquery代码返回未定义的


出什么问题了?

你可以用以下方法解决:

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

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

imgurlv = jQuery("<div>" + html + "</div>").find('img').attr('src');
imgurlv=jQuery(“+html+”).find('img').attr('src');
问题是,“find”会查看当前元素的子元素。在第二种情况下,
img
元素是顶级元素,因此它的子元素都没有要查找的
src
属性