【问题标题】:Get img alt which parent a's href is something [closed]获取img alt哪个父a的href是什么[关闭]
【发布时间】:2017-04-17 06:36:54
【问题描述】:

这是我的 HTML:

<div class="related-posts">
    <a href="http://localhost">
        <img width="100" height="100" src="test.jpg" alt="alt">
    </a>
    <a href="http://localhost/1">  
        <img src=" test1.jpg" alt="Hello world!">
    </a>
</div>

我需要获取imgalt 值,其父级是ahrefhttp://localhost。我可以使用什么代码来获取该值?

【问题讨论】:

  • 这是一个无效的 HTML,没有关闭 img 标签。检查。
  • 你卡在哪里了? jQuery 的文档(和 CSS 的文档)相当清楚地说明了如何根据属性值查找元素,以及如何查找其他元素的后代元素。
  • 谢谢,但现在我无法在 stackoverflow 中编辑代码。在我当地通常是
  • @NorayrManukyan 无法编辑?
  • 其实@T.J.Crowder 是对的,我不应该回答这个问题,因为它没有显示任何研究工作。

标签: javascript jquery


【解决方案1】:
// will match http://localhost only:
$('a[href="http://localhost"]').find('img').attr('alt'); 

// will match links hreffing to URLs starting with http://localhost 
$('a[href^="http://localhost"]').find('img').attr('alt');

【讨论】:

  • 这可能会更小:$("a[href*='http://localhost'] &gt; img ").attr("alt");
  • 假设 direct 子结构没有改变,是的。
  • 也许 OP 想要属性值的严格匹配,但这并不是很清楚,所以......你得到了我的投票
  • 半离题,但.find() 会:获取当前匹配元素集中每个元素的后代,由选择器、jQuery 对象或元素过滤。 .因此,您的解决方案还假设子结构没有改变。图像必须是第一个图像(因为.attr() 在呈现数组时会抓取第一个属性)。仍然是一个很好的解决方案,赞成。
  • 我编辑了帖子,因为*= 不是用于开始而是包含
猜你喜欢
  • 1970-01-01
  • 2015-09-17
  • 2014-07-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-07
  • 2014-01-23
相关资源
最近更新 更多