0

我在变量中有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') 获取它但无法获取它。请任何人都可以解决这个问题???

4

1 回答 1

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");

使用div“TitleClass”获取:

// `titleElement` is a jQuery wrapper around the `div` with the class
// "TitleClass"
var titleElement = mash.find("div.TitleClass");
于 2013-06-26T06:32:51.640 回答