如何通过jQuery抓住从HTML图像标记
所以我有一个在变量entry.content返回这样的数据集:如何通过jQuery抓住从HTML图像标记
<p style="float:right;margin:0 0 10px 15px;width:240px"> <img src="http://citysportsblog.com/wp-content/uploads/2011/09/RagnarNE.jpg" width="240"> </p><p>Have you heard of the epic adventure that is the</p>
如何将我刚刚从这个抢IMG SRC网址通过jquery?
var sourceUrl = $(entry.content).find('img').attr('src');
你应该给你的形象的标识和使用id选择器(你知道它只是元素你得到的方式)。您可以运行在纯文本(不添加到DOM)查询代码如下:
string plainText = '<p style="float:right;margin:0 0 10px 15px;width:240px"> <img id="theImg" src="http://citysportsblog.com/wp-content/uploads/2011/09/RagnarNE.jpg" width="240"> </p><p>Have you heard of the epic adventure that is the</p>'
var url = $(plainText).find('#theImg').attr('src');
或者,如果你不能改变它,它只是在字符串中的一个图像多数民众赞成:
var url = $(plainText).find('img').attr('src');
正如提问者所说的那样,你的jQuery代码行可行;然而,在'#theImg'上使用'find'将不起作用,因为它只遍历_descendants_。 – Dennis
如果你没有任何其他图像的大小相同:
$('img[width="240"]').attr('src');
如果是我,我只是正则表达式替换来从变量来源:
entry.content = entry.content.replace("/src=\"(.+?)\"/i", "\1");
(虽然你不想使用。+;我只是懒得找到可能的URL字符)。如果你不知道entry.content
会以这样的形式,那么我将它添加到DOM在一个隐藏的DIV,并从那里来源:
var hiddenDiv = $(document.body).add("div");
hiddenDiv.css("display", "none");
hiddenDiv.html(entry.content);
entry.content = hiddenDiv.find("img")[0].src;
诚然,这是一个更为危险的方法,因为它让你开放给XSS,但如果你相信源,你可以做到。
虽然,如果Shawn的方法(上面)不将它添加到DOM,那么它会更安全。 –
但看到上面的数据正在作为纯文本发送。不像html – raeq