使用jqueryparsinghtmlstring
我有一个来自Ajax加载源的HTMLstring。 在将HTML放入文档之前,我想从这个string中的对象(图像)中获取一些属性。
我有这样的东西:
$.ajax({ url: uri+'?js', success: function(data) { var htmlCode = $(data).html(); $('#otherObject').html(data); } });
我怎样才能从这个HTMLstring获取属性(例如src
)?
我不是100%肯定,但不会
$(data)
产生一个jQuery的对象与DOM的数据,没有连接任何地方? 或者,如果它已经被parsing为一个DOM,你可以去$(“#myImg”,data),或者任何适合你需要的select器。
编辑
重读你的问题看起来你的“数据”已经是一个DOM,这意味着你可以去(假设你的DOM只有一个img,否则你将需要一个更精确的select器)
$("img", data).attr ("src")
如果你想访问src属性。 如果你的数据只是文本,它可能会工作
$("img", $(data)).attr ("src")
MarvinS.-
尝试:
$.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可能会或可能不会parsing它。 jQuery不会将我的HTMLparsing成一个正确的DOM – 在较小的XML兼容文件上它工作正常,但是当我传回Ajaxcallback函数时,我得到的HTML(在页面中呈现)不会parsing。
最后,我只是在string手动search我想要的标签,不理想,但工作。