我有这种情况:
<img class="prev" data-modal-img-src="asd"/>
<span></span>
<img class="next"/>
现在on cllick我想得到.prev img元素src attr,我这样做:
$(function(){
$('span').bind('click',function(){
var _img_src = $(this).prev('img').attr('data-modal-img-src');
alert(_img_src);
});
});
它没有按预期工作,有什么建议吗?
P.S:不要使用-1就像是射线-1
答案 0 :(得分:2)
要获得上一个内容,他们应该有body
代码或div
等共同父母,并且您没有属性'data-modal-img-src'
。您应该使用on
而不是绑定,因为绑定已弃用。也可以使用data()
代替attr()
来获取数据属性。
prev(),获取该组中每个元素的前一个兄弟 匹配的元素,可选择由选择器jQuery documents过滤。
<强> Live Demo 强>
<img class="prev" data-modal-img-src = "123"/>
<span></span>
<img class="next"/>
$(function () {
$('span').bind('click', function () {
var _img_src = $(this).prev('img').data('modal-img-src');
alert(_img_src);
});
});
使用data()
<强> Live Demo 强>
$(function () {
$('span').bind('click', function () {
var _img_src = $(this).prev('img').data('modal-img-src');
alert(_img_src);
});
});
答案 1 :(得分:1)
使用data()
而不是attr()
$(this).prev('img').data('modal-img-src')