[英]parse html string with jquery
我有一个来自 Ajax 加载源的 HTML 字符串。 在将 HTML 放入文档之前,我想从该字符串中的 object(图像)中获取一些属性。
我有类似的东西:
$.ajax({
url: uri+'?js',
success: function(data) {
var htmlCode = $(data).html();
$('#otherObject').html(data);
}
});
如何从此 HTML 字符串中获取属性(例如src
)?
我不是100%肯定,但不会
$(data)
为该数据生成一个带有 DOM 的 jquery object,没有连接到任何地方? 或者,如果它已经被解析为 DOM,您可以只使用 go $("#myImg", data) 或任何适合您需要的选择器。
编辑
重新阅读您的问题,您的“数据”似乎已经是一个 DOM,这意味着您可以只使用 go(假设您的 DOM 中只有一个 img,否则您需要更精确的选择器)
$("img", data).attr ("src")
如果你想访问 src 属性。 如果您的数据只是文本,它可能会起作用
$("img", $(data)).attr ("src")
马文S.-
尝试:
$.ajax({
url: uri+'?js',
success: function(data) {
var imgAttr = $("img", data).attr('src');
var htmlCode = $(data).html();
$('#imgSrc').html(imgAttr);
$('#fullHtmlOutput').html(htmlCode);
}
});
这应该将整个 html 块从数据加载到#fullHtmlOutput,并将图像的src 加载到#imgSrc。
只需在您的 img 元素之前添加容器元素,以确保您的 intersted 元素不是第一个,在 ie,ff 中测试
需要注意的一件事 - 因为我今天确实遇到了这个问题,这取决于您的 HTML jQuery 可能会也可能不会很好地解析它。 jQuery wouldn't parse my HTML into a correct DOM - on smaller XML compliant files it worked fine, but the HTML I had (that would render in a page) wouldn't parse when passed back to an Ajax callback.
最后,我只是在字符串中手动搜索了我想要的标签,虽然不理想但确实有效。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.