使用.live()获取被点击元素的id

时间:2011-06-02 11:34:05

标签: javascript jquery

根据建议我将代码更改为

<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"));
});

2 个答案:

答案 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"));
});