这个简单的jQuery有什么问题?

时间:2011-03-11 17:30:34

标签: jquery

我正在以下HTML

中定位图片
<h1 class="logo-site-name">
  <span id="logo">
    <a href="http://some.link">
      <img src="http://www.other.com/some.gif">
    </a>
  </span>
</h1>

我正在尝试使用以下代码替换图像,但它无法正常工作。我选择&amp;正确修改?

$('#logo').children('img').attr('src', 'http://www.domain.com/image.gif');

6 个答案:

答案 0 :(得分:4)

您的img元素不是logo的子元素,它是后代。

你可以做到

$('#logo').find('img:first').attr('src', 'http://www.domain.com/image.gif');

first是可选的,但如果您只有我想限制的那个。

答案 1 :(得分:1)

$('#logo a').find('img').attr('src', 'http://www.domain.com/image.gif'); 

这可能有效..

答案 2 :(得分:1)

$("#logo img").attr("src","url here");
最简单的方法!!! 不需要.find。

Simples !!

答案 3 :(得分:0)

儿童只寻找直系孩子(仅限一个级别).children()。使用find

$('#logo').find('img').attr('src', 'http://www.domain.com/image.gif');

答案 4 :(得分:0)

您也可以使用上下文。通常更干净,您将限制您的选择。类似的东西:

$('a', '#logo').attr('src', 'http://www.domain.com/image.gif'); 

答案 5 :(得分:0)

为什么不这样做:

$('#logo>a>img').attr('src', 'http://www.domain.com/image.gif');

它更简单,更快......