Jquery 获取已单击元素的id

Jquery 获取已单击元素的id,jquery,Jquery,当我有这样一个函数时,如何获取被单击的元素的id $("#btnOne, #btnTwo").on("click", "input.select", function () { 我试过: this.id; 及 这是html <div id="TransferOwnershipBox" title="Transfer Ownership"> <table> <tr> <td>

当我有这样一个函数时,如何获取被单击的元素的id

$("#btnOne, #btnTwo").on("click", "input.select", function () {    
我试过:

this.id;

这是html

<div id="TransferOwnershipBox" title="Transfer Ownership">
    <table>
        <tr>
            <td>
                <asp:TextBox ID="tbSearchField" Text="Search..." ClientIDMode="Static" Width="400px" runat="server" CssClass="text ui-widget-content ui-corner-all"></asp:TextBox>
            </td>
            <td>
                <input type="button" id="btnSearch" data-str="tblOwnerSearchResults" value="Search" Class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only" />
            </td>
        </tr>
    </table>
    <table id="tblOwnerSearchResults" data-str="ownerId" data-dataItem="id" style="border: none; width: 100%; padding: 2px;"></table>
</div>


<!-----COURSE DIRECTOR----->
<div id="CourseDirectorBox" title="Directors">
    <table>
        <tr>
            <td>
                <asp:TextBox ID="tbDirector" Text="Search..." ClientIDMode="Static" Width="400px" runat="server" CssClass="text ui-widget-content ui-corner-all"></asp:TextBox>
            </td>
            <td>
                <input type="button" id="btnDirectorSearch" data-str="tblDirectorSearchResults" value="Search" Class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only" />
            </td>
        </tr>
    </table>
    <table id="tblDirectorSearchResults" data-str="source" data-dataItem="DisplayName" style="border: none; width: 100%; padding: 2px;"></table>              
</div>

但我也没有从他们那里得到任何身份证


谢谢您使用了
.on()
的委托语法

事件发生在
输入上。选择
元素而不是
\btnOne
\btnTwo

如果需要容器(
#btnOne
btnTwo
)id,请使用



如果您使用的是1.7版及更高版本(您应该是)

您使用的是
.on()
的委托语法

事件发生在
输入上。选择
元素而不是
\btnOne
\btnTwo

如果需要容器(
#btnOne
btnTwo
)id,请使用



如果您使用的是1.7版或更高版本(您应该使用)

因为我看不到您的HTML,我将提供一个示例:

HTML

测试和工程…我确实需要包装的div点击选择器在引号中(duh!)

关于我的评论,对于一个简单的jqueryonclick事件,这种方法可能是最干净的。如果必须为jQuery使用.on()绑定方法,则情况非常类似

代表
为了使用click事件绑定的.on()委托方法,语法(如您在问题中所述)如下所示:

HTML


这种事件绑定方式还允许绑定父事件处理程序(在本例中为#myTable)的子元素。优点是,在创建处理程序之后创建并添加到事件处理程序的任何子级也被绑定。这可能是节省时间的天赐良机。基本上,它允许快速地将事件绑定到动态对象。试试看

由于我看不到您的HTML,我将提供一个示例:

HTML

测试和工程…我确实需要包装的div点击选择器在引号中(duh!)

关于我的评论,对于一个简单的jqueryonclick事件,这种方法可能是最干净的。如果必须为jQuery使用.on()绑定方法,则情况非常类似

代表
为了使用click事件绑定的.on()委托方法,语法(如您在问题中所述)如下所示:

HTML

这种事件绑定方式还允许绑定父事件处理程序(在本例中为#myTable)的子元素。优点是,在创建处理程序之后创建并添加到事件处理程序的任何子级也被绑定。这可能是节省时间的天赐良机。基本上,它允许快速地将事件绑定到动态对象。试试看

请尝试以下代码:

$("#btnOne, #btnTwo").click(function(){
    $(this).attr("id");
});
请尝试以下代码:

$("#btnOne, #btnTwo").click(function(){
    $(this).attr("id");
});

在代码中指的是
输入
元素,而不是
#btnOne
#btnt两个
元素,您可以使用事件对象的
delegateTarget
属性,该属性指的是事件委派的目标元素

$("#btnOne, #btnTwo").on("click", "input.select", function(event) {
    console.log(event.delegateTarget.id);
});

在代码中引用的是
输入
元素,而不是
#btnOne
#btnt两个
元素,您可以使用事件对象的
delegateTarget
属性,该属性引用事件委派的目标元素

$("#btnOne, #btnTwo").on("click", "input.select", function(event) {
    console.log(event.delegateTarget.id);
});

是否输入
选择元素。选择元素是否有ID?这两种方法都是正确的,因此要么处理程序从未被调用,要么元素没有id
应该可以。我在上面添加了HTML,我没有看到任何带有类
select
input
元素。我也看不到具有这些ID的元素。
input.select
select元素是否具有任何ID?这两种方法都是正确的,因此要么处理程序从未被调用,要么元素没有id
应该可以。我在上面添加了HTML,我没有看到任何带有类
select
input
元素。我也看不到带有这些ID的元素。哦,好吧,所以没有办法知道单击了哪个按钮-thanks@999cm999是
输入。选择id为
btnOne
btnOne
的元素?或者这些ID是那些
输入的容器上的ID。选择
元素?在您发表上述评论后,我已经更彻底地回答了您的问题…请查看我编辑的帖子:)哦,好的,所以无法判断单击了哪个按钮-thanks@999cm999是
输入。选择id为
btnOne
btnOne
的元素?或者这些ID是那些
输入的容器上的ID。选择
元素?在您发表上述评论后,我已经更彻底地回答了您的问题…请查看我编辑的帖子:)
<div id="myTable">
    <div class="table-row" id="a">Hello World</div>
    <div class="table-row" id="b">I'm a delegate!</div>
</div>
$(document).ready(function() {
    $("#myTable").on("click", "div", function() {
        var id = $(this).attr("id");
        alert(id);
    });
});
$("#btnOne, #btnTwo").click(function(){
    $(this).attr("id");
});
$("#btnOne, #btnTwo").on("click", "input.select", function(event) {
    console.log(event.delegateTarget.id);
});