在字符串中找到img标签并循环遍历它

时间:2014-04-03 03:59:54

标签: javascript jquery

我的代码在这里......

  if (lines[i].indexOf("img") != -1) {                                
  $(lines[i]).find('img').each(function () {
   HeadCTALinks += $(this).attr('src');
   });

包含img标签的字符串是

<img height="250" src="http://newsletters.tm..com/epsg/13MR/MCD-CID/11_CC_020783-N9322C/N9322C_Application.jpg" alt="test" style="padding 0 0 0 0;margin:0 0 0 0;" border="0"></a></span></div>

现在的问题是它无法遍历img标签.....

1 个答案:

答案 0 :(得分:3)

图像是根元素,find()仅适用于儿童。

您可以使用filter()代替

if (lines[i].indexOf("img") != -1) {                                
    $(lines[i]).filter('img').each(function () {
        HeadCTALinks += $(this).attr('src');
    });
}

或更通用的解决方案,附加到元素

if (lines[i].indexOf("img") != -1) {                                
    $('<div />', {html :  lines[i]}).find('img').each(function () {
        HeadCTALinks += $(this).attr('src');
    });
}

FIDDLE

还要注意你的字符串不是真的有效,因为它有没有开放元素的结束元素