繁体   English   中英

使用 jquery 解析 html 字符串

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM