使用jquery从var中查找属性和元素?

时间:2013-06-26 06:28:47

标签: javascript jquery html

我在变量中有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')获取它但不能得到它。 请任何人都能搞清楚这一点???

1 个答案:

答案 0 :(得分:3)

请勿使用innerHTMLinnerHTML生成元素的字符串表示。您希望直接使用元素。

首先,围绕当前目标获取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");