<ul class="pics">
<li><a id="img1" href="javascript:choose(1);" title="梦幻玫瑰套装" data-img="1.png">梦幻玫瑰套装</a></li>
</ul>
function choose(index){
var data=$(".pics li:eq("+index+") a").data("img");
alert(data);
}
为什么一直获取到undefined?求大神指导!
调试下index多少,有没有找到a标签。
可是我用
var data=$("#img1").data("img");也不行。。。。
已解决了,发现公司用的JQ版本太低了。。。。。用新版本后就可以啦
版本是有多低
你那个是自定义属性,用attr,而且要写全来。data是存储数据,不是属性,你需要调用data('img','xxx')这样才能使用data('img')获取
function choose(index){
var data=$(".pics li:eq("+index+") a").data("data-img");
alert(data);
}
改版后的
<ul class="pics">
<li><a href="javascript:choose(1);" title="梦幻玫瑰套装" data-img="1.png">梦幻玫瑰套装</a></li>
<li><a href="javascript:choose(2);" title="代币*40" data-img="2.png">代币*40</a></li>
<li><a href="javascript:choose(3);" title="高级经验糖果" data-img="3.png">高级经验糖果</a></li>
<li><a href="javascript:choose(4);" title="怦然心动(绿)1天" data-img="4.png">怦然心动(绿)1天</a></li>
<li><a href="javascript:choose(5);" title="柠檬花开套装" data-img="5.png">柠檬花开套装</a></li>
<li><a href="javascript:choose(6);" title="珍爱巧克力*4" data-img="6.png">珍爱巧克力*4</a></li>
<li><a href="javascript:choose(7);" title="彩虹桥 1天" data-img="7.png">彩虹桥 1天</a></li>
<li><a href="javascript:choose(8);" title="幸运宝石*40" data-img="8.png">幸运宝石*40</a></li>
<li><a href="javascript:choose(9);" title="香奈儿の恋套装" data-img="9.png">香奈儿の恋套装</a></li>
</ul>
function choose(index){
var data=$(".pics li:eq("+(index-1)+") a").data("img");
// alert(data);
var img=$("<img src='images/"+data+"' />");
var src=img.attr("src");
var divNum= $(".img").children().length;
if(divNum==0){
$(".img").append(img);
}else{
$("img").attr("src",src);
}
}
大神你的选择器是我见过最复杂的!如果JQ真能识别说明JQ真的好用!,不过怕你不知道它选中的是什么!还有想要使用标签上的数据不用这么复杂,用属性方法就可以了$("div").attr("rel","value"),,读取时用$("div").attr("rel")