an转成html,加载HTML字符串转换成jQuery的不请求图像(load an HTML string into

有没有一种方法加载包含图像标记为jQuery的,而无需请求图像的HTML字符串? 我希望能够在jQuery对象上运行选择提取一些信息。 以下面的例子:

var string = $('

file.jpg

');

string.find('img');

浏览器会为请求的HTTP://image.url/file.jpg 。 我试图找到一种方式做同样的,但没有庄家对图像的请求的浏览器。

谢谢

Answer 1:

您可以使用XML文件来执行搜索:

function searchXml(xmlStr, selector) {

var parser, xmlDoc;

if(window.DOMParser) {

parser = new DOMParser();

xmlDoc = parser.parseFromString(xmlStr, "text/xml");

} else {

xmlDoc=new ActiveXObject("Microsoft.XMLDOM");

xmlDoc.async = false;

xmlDoc.loadXML(xmlStr);

}

return $(xmlDoc).find(selector);

}

console.log(searchXml('

file.jpg

', 'img').attr('src'));​​​​

看到它在行动: http://jsfiddle.net/na9Tt/

请记住,这是一个XML文档,而不是HTML文件,所以某些特定类型的搜索所特有的HTML可能无法正常工作完全一样的方式。

Answer 2:

你需要清楚地了解你的问题的边界。 如果你的问题是:“你有没有可以加载额外的HTML(不改变它)到jQuery对象(如你正在做的),而不会导致图像加载任何方式”,那么答案是否定的。 jQuery的创建一个临时父对象和你的HTML分配给这会导致浏览器完全解析这个HTML将加载图像的URL innerHTML属性。

所以,如果你想在不加载图像上运行此HTML选择操作,你有几种选择:

给HTML将jQuery所以他们之前修改图像标记.src性能都消失了或为空或标签是不是图片代码或不再存在。

使用其他的东西比这种类型的jQuery解析你的HTML,为选择操作做准备。

如果你公开了一种稍微介绍一下为什么你想这样做,或者你正试图与选择的操作做什么,我们也许可以提出更多的选择。

Answer 3:

您可以将图像路径添加到另一个属性,像这样

path_to_image

然后当你需要,你可以替换数据-SRC的SRC属性。 像这样的事情

$('#imgid').attr('src',$('#imgid').attr('data-src'));

Answer 4:

这是Chrome浏览器仅据我所知,发现它在这里 ,该网页上的第一种方法可能不是如果字符串不是有效的HTML工作,第二个能正常工作。 不创建请求图像,并且不试图执行内嵌脚本(这是适合我的使用案例 - 浏览器扩展程序后台任务)。

var doc = document.implementation.createHTMLDocument("");

doc.body.innerHTML = htmlString;

文章来源: load an HTML string into jQuery without requesting images

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值