Javascript 如何使用jQuery选择变量中的元素?

Javascript 如何使用jQuery选择变量中的元素?,javascript,jquery,Javascript,Jquery,我正在尝试为我在CMS中使用的TinyMCE制作一个简单的图像浏览器。作为这项工作的一部分,我需要检测用户是否选择了现有图像,这样我就可以显示“编辑”表单而不是“选择图像表单” 第一个函数以HTML字符串的形式从编辑器窗口返回用户选择的文本。然后我想使用jQuery(尽管纯javascript也可以)检查这个字符串是否包含img标记,然后再获取src和title属性进行编辑 现在我已经把html变成了一个对象。但在这之后,我无法在它中搜索img元素。读完这篇()之后,我试着: 但它只是一个“未定

我正在尝试为我在CMS中使用的TinyMCE制作一个简单的图像浏览器。作为这项工作的一部分,我需要检测用户是否选择了现有图像,这样我就可以显示“编辑”表单而不是“选择图像表单”

第一个函数以HTML字符串的形式从编辑器窗口返回用户选择的文本。然后我想使用jQuery(尽管纯javascript也可以)检查这个字符串是否包含img标记,然后再获取src和title属性进行编辑

现在我已经把html变成了一个对象。但在这之后,我无法在它中搜索img元素。读完这篇()之后,我试着:

但它只是一个“未定义”的对象

我想我在这里遗漏了一些非常明显的东西(已经很晚了),但一个小时后我仍然不知道如何从选择中获取img标签(


非常感谢。

尝试查看
$elem
变量中的真正内容。只需同时使用Firefox
执行
控制台.log($elem)
,您应该能够很好地进行管理!;)

因为
位于jQuery对象的根,您需要使用而不是
.find()

.filter()
方法查看jQuery对象顶层的元素,而
.find()
查找嵌套在任何顶层元素中的元素

如果事先不确定目标元素的位置,可以将HTML放入包装器
中进行搜索。这样,给定的HTML将永远不会位于顶部

var selected_html = ed.selection.getContent();
var $elem = $('<div>').html(selected_html);

var $img = $elem.find('img');
var selected_html=ed.selection.getContent();
var$elem=$('').html(选定的\u html);
var$img=$elem.find('img');

为了得到您得到的
未定义的结果,您做了什么?您可以发布一个用于创建jQuery对象的HTML示例吗?我现在正在做console.log(Chrome的调试器)。不管我做什么,我最终得到一个对象(proto?),它的上下文参数设置为“undefined”,选择器为“img”。选择的HTML是直截了当的-只有一个img ta、一些粗体文本和一个img标记,等等。如果我记录$elem(就像在第一段代码中一样),我会得到一个包含所选代码中所有HTML节点的对象。所以那个钻头很好用。但是,我无法让jQuery仅从中选择img元素(通过console.log($elem.find('img'));)。它总是给出这个“未定义”的对象。
.find()
方法不会为您获取
。请看下面我的答案。太好了,谢谢!我知道事情最终会很简单汉克斯。哇,对于JQuery来说,这似乎是一个糟糕的设计决策,除非我遗漏了什么。。。?
$elem.find('img');
$elem.filter('img');
var selected_html = ed.selection.getContent();
var $elem = $('<div>').html(selected_html);

var $img = $elem.find('img');