有没有办法加载包含图像标签的
HTML字符串到jQuery而不请求图像?我想要能够在jQuery对象上运行选择器来提取一些信息.举个例子:
var string = $('<p><img src="http://image.url/file.jpg" /></p>'); string.find('img');
浏览器会提出一个http://image.url/file.jpg的请求.我试图找到一种方式来做同样的事情,但是没有浏览器要求图像.
谢谢
解决方法
您可以使用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('<p><img src="http://image.url/file.jpg" /></p>','img').attr('src'));
看到它在行动:http://jsfiddle.net/na9Tt/
请记住,它是一个XML文档,而不是HTML文档,因此特定于HTML的某些特定类型的搜索可能无法正常工作.