Javascript 单击父元素时如何切换两个图像?
我需要通过单击父a标记来切换两个图像 这是我的JavaScriptJavascript 单击父元素时如何切换两个图像?,javascript,jquery,Javascript,Jquery,我需要通过单击父a标记来切换两个图像 这是我的JavaScript $("#VerColMenu > li > a").click(function() { var src = ($(this).children()[0].attr('src') === 'img/plus.png') ? 'img/minus.png' : 'img/plus.png'; $(this).children()[0].attr('src', src); }); 但是这里
$("#VerColMenu > li > a").click(function() {
var src = ($(this).children()[0].attr('src') === 'img/plus.png')
? 'img/minus.png'
: 'img/plus.png';
$(this).children()[0].attr('src', src);
});
但是这里什么也没有发生。
attr
是一个jQuery方法而不是DOM方法,所以您不需要[0]
。试试这个:
$('#VerColMenu a').click(function(){
var $img = $(this).children();
var src = $img.attr('src');
$img.attr('src', src === 'img/plus.png' ? 'img/minus.png' : 'img/plus.png');
});
attr
是jQuery方法而不是DOM方法,因此您不需要[0]
。试试这个:
$('#VerColMenu a').click(function(){
var $img = $(this).children();
var src = $img.attr('src');
$img.attr('src', src === 'img/plus.png' ? 'img/minus.png' : 'img/plus.png');
});
首先.children()[0]
将子对象作为DOM对象而不是jQuery对象获取 And.attr()只能用于jQuery对象 尝试:eq选择器,而不是.children() 我假设
.children()[0]
您指的是li中的第一个图像,
因此,使用img:eq(0)
选择li中的第一个图像元素。首先.children()[0]
将子对象作为DOM对象而不是jQuery对象获取 And.attr()只能用于jQuery对象 尝试:eq选择器,而不是.children() 我假设
.children()[0]
您指的是li中的第一个图像,
因此,使用
img:eq(0)
将选择li中的第一个图像元素。将[0]
附加到jQuery对象将检索隐藏的DOM对象。除了上面/下面的答案,您还可以使用获取jQuery数组集中的第一个元素:
$("#VerColMenu > li > a").click(function() {
var src = ($(this).children().first().attr('src') === 'img/plus.png') ? 'img/minus.png' : 'img/plus.png';
$(this).children().first().attr('src', src);
});
当然,这必须包装在
$(document).ready()
或类似的东西中。将[0]
附加到jQuery对象会检索隐藏的DOM对象。除了上面/下面的答案,您还可以使用获取jQuery数组集中的第一个元素:
$("#VerColMenu > li > a").click(function() {
var src = ($(this).children().first().attr('src') === 'img/plus.png') ? 'img/minus.png' : 'img/plus.png';
$(this).children().first().attr('src', src);
});
当然,这必须用
$(document.ready()
或类似的东西包装起来。使用此代码可以帮助您
function toggle(a) {
if (isloaded) {
document.getElementById(a).src=toggleimage[i_image];
}
i_image++
if (i_image>1) {i_image=0}
}
<a href="javascript:toggle()"><img name="togglepicture" src="p1.gif" border="0"></a>
功能切换(a){
如果(已加载){
document.getElementById(a).src=toggleimage[i_image];
}
i_图像++
如果(i_image>1){i_image=0}
}
使用此代码它可以帮助您
function toggle(a) {
if (isloaded) {
document.getElementById(a).src=toggleimage[i_image];
}
i_image++
if (i_image>1) {i_image=0}
}
<a href="javascript:toggle()"><img name="togglepicture" src="p1.gif" border="0"></a>
功能切换(a){
如果(已加载){
document.getElementById(a).src=toggleimage[i_image];
}
i_图像++
如果(i_image>1){i_image=0}
}
您是否已将此脚本放置在$(document).ready()中?
?您可以尝试仅使用calss名称,而不是检查img src。您可以提供html吗?您是否已将此脚本放入$(document).ready()
?您可以尝试仅使用calss名称,而不是检查img src。你能提供你的html吗?