根据建议我将代码更改为
<dl id="accRegion">
<#list command.instruments as instrType>
<dt ><a class="red">${instrType}</a></dt>
<dd >
<#list command.logDates as logDate>
<div id="${instrType}"><a class="orange">${logDate}</a></dt>
</#list>
</dd>
</#list>
但它仍然让我获得第一个元素的id而不是点击的元素。 此外,这个dl是手风琴。
这是生成的html片段
<dl id="accRegion">
<dt ><a class="red">Stocks</a></dt>
<dd >
<div id="Stocks"><a class="orange">2011-05-31</a></dt>
</dd>
<dt ><a class="red">Futures</a></dt>
<dd >
<div id="Futures"><a class="orange">2011-05-31</a></dt>
</dd>
尝试以下方法
$("#accRegion div").live('click',function(){
alert($(this).attr("id"));
});
答案 0 :(得分:0)
您在网页上多次使用相同的id
;而在页面上id
必须唯一是必要的;那是你的主要问题。 jQuery v1.6中还有attr
的替代方法。你可以使用jQuery.prop()
$("#accRegion dd dt").live('click',function(){
alert($(this).prop("id"));
});
<强> DEMO 强>
答案 1 :(得分:0)
试试这个:
$("#accRegion dd dt").live('click',function(e){
alert($(e.currentTarget).attr("id"));
});