我在变量中有innerHTML,如下所示:
var mash = e.currentTarget.innerHTML;
现在mash有以下值:
"<div class="mashup-details-view"> <div class="mashup-item" data-mashup-id="36967" id="mashup-sort-id"> <div class="mashup-thumbnail" title="Cist"> <span class="x-small thumbnail" style="min-width: 60px; min-height: 34px;"><img onerror="javascript:vidizmo.app.utils.handle_thumbnail_error(this);" src="http://az2213.vo.msecnd.net/vidizmodev/001419/081358/Images/00000c/ImgThumbs/Copa_67100313-4f60-46ff-95c1-907c75b077a8_th1.jpg"></span> </div> <div class="IconDescDiv"> <div class="TitleClass" href="#" title="Cist">Cist</div> </div> </div></div> "
现在我需要获取“data-mashup-id”属性,img标签和class =“TitleClass”元素如何从变量中获取它们我试图通过find('img')获取它但不能得到它。 请任何人都能搞清楚这一点???
答案 0 :(得分:3)
请勿使用innerHTML
。 innerHTML
生成元素的字符串表示。您希望直接使用元素。
首先,围绕当前目标获取jQuery包装器:
// `mash` is a jQuery wrapper around the current target
var mash = $(e.currentTarget);
现在,您可以使用CSS选择器查找目标中的内容并从中检索信息。
获取data-mashup-id
值:
// `id` is a string
var id = mash.find("[data-mashup-id"]).attr("data-mashup-id");
获取图像(您可以从结果对象中获取有关图像的信息):
// `img` is a jQuery wrapper around the `img` element
var img = mash.find("img");
使用“TitleClass”获取div
:
// `titleElement` is a jQuery wrapper around the `div` with the class
// "TitleClass"
var titleElement = mash.find("div.TitleClass");