这将做到这一点。请注意,您需要在百万运算符内进行比较。如果你只是做"something" ? "blah" : "result
,它将永远是真的,因为非空值始终为真。
var up = "../images/admin/Symbol_Up.png";
var down = "../images/admin/Symbol_Down.png";
$(".message_head").click(function(){
var icon = $(".icon[id=" + $(this).attr("id") + "]");
$(this).next(".message_body").slideToggle(500);
icon.attr("src", this.attr("src") == up ? down : up);
});
我刚刚意识到你的HTML的一个基本问题,如果你的JavaScript的CSS选择器是准确的。您要求.icon [id = x]并使用.message_head类中的ID属性来查找图标的ID。为了这个工作,你必须有两个相同的ID,这是无效的HTML。我想象你的HTML看起来是这样的:
<div class="message_head" id="1">
<img class="icon" src="up.jpg" id="1"/>
</div>
这是一个nono。你可以做的是这样的:
<div class="message_head" id="1">
<img class="icon" src="up.jpg" />
</div>
var up = "../images/admin/Symbol_Up.png";
var down = "../images/admin/Symbol_Down.png";
$(".message_head").click(function(){
var icon = $('.icon', this);
$(this).next(".message_body").slideToggle(500);
icon.attr("src", this.attr("src") == up ? down : up);
});
来源
2009-06-30 19:58:25
cgp
他的_shouldn't_工作,你没有比较任何东西,src attr调用三元总是将eval为true。 – cgp 2009-06-30 20:02:37
哎呀,你是对的 – Evert 2009-07-01 19:47:12