我不是jQuery的新手,但这应该可以工作,而且不是:
html:
<a href='<?=$s['url'];?>' class='playbutton'><img src='http://i.domain.net/icons/play.png' width=20></a>
jquery $("a.playbutton").click()
:
$(this).find("img").attr("src","http://i.domain.net/icons/stop.png");
如果我将attr
更改为addClass("jimbo")
,我会将类jimbo添加到我的图像中。因此,它发现img标记很好,但不会更改源。有人能告诉我为什么吗?
完整的jquery功能是:
$("a.playbutton").click(function(e) {
var current = $("#jplayer").data().jPlayer.status.src
var playing = current.split("/");
var href = encodeURIComponent($(this).attr("href"));
if(playing[3] != href) {
$("#jplayer").jPlayer("setMedia", {mp3: "http://mp3.domain.net/" + href});
$("#jplayer").jPlayer("play");
$(this).find("img").attr("src","http://i.domain.net/icons/stop.png");
$("a.playbutton > img").each(function () {
$(this).attr("src","http://i.domain.net/icons/play.png");
});
} else {
$("#jplayer").jPlayer("stop");
$("#jplayer").jPlayer("clearMedia");
}
return false;
});
除$(this).find("img").attr..
线外一切正常。就像我说的,如果我把attr
改为addClass,它会很好地添加类。这意味着它可以找到正确的<img>
标签。
(URL已更改为domain.net(
使用道具代替属性
$(this).find("img").prop("src","url");
也许您忘记在回调中添加return false,请查看:http://jsfiddle.net/YnT5L/1/
$("a.playbutton").click(function() {
$(this).find("img").attr("src","http://i.domain.net/icons/stop.png");
return false;
});