我对jQuery仍然缺乏经验,而且我一直试图做点什么。 一般的想法是,当你点击一个图像时," alt"该图像的属性被添加到其上方的段落中。
您将在下面看到我尝试使用的代码。 现在,它有效,但只是偶尔。 例如,我点击的第一个图像总是返回" undefined"作为alt。 但如果我一直试图点击它,有时它会给我正确的。
我的图像是可选择的,当我一次选择所有图像时,它每次都会给出正确的名称。
还有其他人遇到过这个问题吗?
HTML代码(我很抱歉,用不同的语言,问我是否需要翻译:
<div id="onzeleden">
<p id="feedback">Tijdens "De Bluts" zagen we de beste beentjes van...
<span id="select-result"></span></p>
<div id="leden">
<abbr title="Jeroen Beckers">
<img src="fotos%20leden/Jeroen%20transp.gif"
alt="Jeroen Beckers"></abbr>
<abbr title="Luc Verreet">
<img src="fotos%20leden/Luc%20transp.gif"
alt="Luc Verreet"/></abbr>
<abbr title="Kristel Van den Broeck">
<img src="fotos%20leden/Kristel%20transp.gif"
alt="Kristel Van den Broeck"/></abbr>
<abbr title="Jesse Op de Beeck">
<img src="fotos%20leden/Jesse%20transp.gif"
alt="Jesse Op de Beeck"/></abbr>
<abbr title="Maria Bogaerts">
<img src="fotos%20leden/Maria%20transp.gif"
alt="Maria Bogaerts"/></abbr>
<abbr title="Bruno Van Impe">
<img src="fotos%20leden/Bruno%20transp.gif"
alt="Bruno Van Impe"/></abbr>
<abbr title="Brenda De Laet">
<img src="fotos%20leden/Brenda%20transp.gif"
alt="Brenda De Laet"></abbr>
<abbr title="Els Donckers">
<img src="fotos%20leden/Els%20transp.gif"
alt="Els Donckers"></abbr>
</div>
Javascript代码:
$(function() {
$( "#leden" ).selectable({
stop: function() {
var result = $( "#select-result" ).empty();
$( ".ui-selected", this ).each(function() {
var index = $( "#leden img" ).index( this );
var sAlt = $(this).attr("alt");
result.append(sAlt + ". ");
});
}
});
});
答案 0 :(得分:0)
这是因为你的点击是由你的abbr处理的,它没有alt属性。
如果您只想选择图片,您应该在可选择的声明中添加过滤选项,如下所示:
$(function() {
$( "#leden" ).selectable({
filter: 'img',
stop: function() {
var result = $( "#select-result" ).empty();
$( ".ui-selected", this ).each(function() {
var sAlt = $(this).attr("alt");
result.append(sAlt + ". ");
});
}
});
});
请参阅小提琴:HERE