Javascript jQuery-无法选择动态创建的元素

Javascript jQuery-无法选择动态创建的元素,javascript,jquery,html,ajax,Javascript,Jquery,Html,Ajax,以下是我的HTML结构: <table id="items" class="table table-striped table-bordered table-hover"> <thead> <tr> <td> </td> <td>Name</td> <td>Description</td>

以下是我的HTML结构:

<table id="items" class="table table-striped table-bordered table-hover">
    <thead>
        <tr>
            <td> </td>
            <td>Name</td>
            <td>Description</td>
            <td>Location</td>
        </tr>
        <tr>
            <td>
                <button type="button" class="btn btn-default btn-lg">
                    <span class="glyphicon glyphicon-plus"></span>
                </button>
            </td>
            <td><input type="text" id="addName"></td>
            <td><input type="text" id="addDescription"></td>
            <td></td>
        </tr>
    </thead>
    <tbody>
    </tbody>
    <tfoot>
    </tfoot>
</table>
这只藏在里面,那些已经被创造出来的东西

更多问题-每个()函数如何?
我想在每个td标签上绑定一个点击事件,但我再次失败。。
如何迭代所有新添加的语句?

要使最后三条语句有效,元素必须存在。在收到Ajax响应之前,您正在执行这些方法。在添加元素后(即循环之后),将调用移到
$内。获取
回调

有点相关(因为它们解释了异步的工作原理):


要使最后三个语句起作用,元素必须存在。在收到Ajax响应之前,您正在执行这些方法。在添加元素后(即循环之后),将调用移到
$内。获取
回调

有点相关(因为它们解释了异步的工作原理):


要使最后三个语句起作用,元素必须存在。在收到Ajax响应之前,您正在执行这些方法。在添加元素后(即循环之后),将调用移到
$内。获取
回调

有点相关(因为它们解释了异步的工作原理):


要使最后三个语句起作用,元素必须存在。在收到Ajax响应之前,您正在执行这些方法。在添加元素后(即循环之后),将调用移到
$内。获取
回调

有点相关(因为它们解释了异步的工作原理):


如果您试图隐藏事件中的这些元素,请将它们添加到事件处理程序中,例如:

$(document).ready( function () {
        getTable();

        $(element).on('click', function () {
            $('tbody').children("tr").hide();
            $("tbody tr").hide();
            $("tr.items_tr").hide();
        });
     )};

如果您试图在调用getTable函数之后立即隐藏这些元素,那么将这3个函数添加到$.post success函数中

代码应该如下所示:

function getTable(){
var args = new Object();
args.op = "getTable";
$.post("./service.php", args , function(data)
    {
        var dataObj = JSON.parse(data);
        for(var i = 0; i<dataObj.length; i++){
            $('table#items tbody').append("<tr class=\"items_tr\" id=\"item"+dataObj[i].sn+"\"><td>"+dataObj[i].sn+"</td><td>"+dataObj[i].name+"</td><td>"+dataObj[i].description+"</td><td>"+dataObj[i].belonged+"</td></tr>");
    }
        $('tbody').children("tr").hide();
        $("tbody tr").hide();
        $("tr.items_tr").hide();
});
}

 getTable();
函数getTable(){
var args=新对象();
args.op=“getTable”;
$.post(“./service.php”),参数,函数(数据)
{
var dataObj=JSON.parse(数据);

对于(var i=0;i如果您试图隐藏事件中的这些元素,请将它们添加到事件处理程序中,例如:

$(document).ready( function () {
        getTable();

        $(element).on('click', function () {
            $('tbody').children("tr").hide();
            $("tbody tr").hide();
            $("tr.items_tr").hide();
        });
     )};

如果您试图在调用getTable函数之后立即隐藏这些元素,那么将这3个函数添加到$.post success函数中

代码应该如下所示:

function getTable(){
var args = new Object();
args.op = "getTable";
$.post("./service.php", args , function(data)
    {
        var dataObj = JSON.parse(data);
        for(var i = 0; i<dataObj.length; i++){
            $('table#items tbody').append("<tr class=\"items_tr\" id=\"item"+dataObj[i].sn+"\"><td>"+dataObj[i].sn+"</td><td>"+dataObj[i].name+"</td><td>"+dataObj[i].description+"</td><td>"+dataObj[i].belonged+"</td></tr>");
    }
        $('tbody').children("tr").hide();
        $("tbody tr").hide();
        $("tr.items_tr").hide();
});
}

 getTable();
函数getTable(){
var args=新对象();
args.op=“getTable”;
$.post(“./service.php”),参数,函数(数据)
{
var dataObj=JSON.parse(数据);

对于(var i=0;i如果您试图隐藏事件中的这些元素,请将它们添加到事件处理程序中,例如:

$(document).ready( function () {
        getTable();

        $(element).on('click', function () {
            $('tbody').children("tr").hide();
            $("tbody tr").hide();
            $("tr.items_tr").hide();
        });
     )};

如果您试图在调用getTable函数之后立即隐藏这些元素,那么将这3个函数添加到$.post success函数中

代码应该如下所示:

function getTable(){
var args = new Object();
args.op = "getTable";
$.post("./service.php", args , function(data)
    {
        var dataObj = JSON.parse(data);
        for(var i = 0; i<dataObj.length; i++){
            $('table#items tbody').append("<tr class=\"items_tr\" id=\"item"+dataObj[i].sn+"\"><td>"+dataObj[i].sn+"</td><td>"+dataObj[i].name+"</td><td>"+dataObj[i].description+"</td><td>"+dataObj[i].belonged+"</td></tr>");
    }
        $('tbody').children("tr").hide();
        $("tbody tr").hide();
        $("tr.items_tr").hide();
});
}

 getTable();
函数getTable(){
var args=新对象();
args.op=“getTable”;
$.post(“./service.php”),参数,函数(数据)
{
var dataObj=JSON.parse(数据);

对于(var i=0;i如果您试图隐藏事件中的这些元素,请将它们添加到事件处理程序中,例如:

$(document).ready( function () {
        getTable();

        $(element).on('click', function () {
            $('tbody').children("tr").hide();
            $("tbody tr").hide();
            $("tr.items_tr").hide();
        });
     )};

如果您试图在调用getTable函数之后立即隐藏这些元素,那么将这3个函数添加到$.post success函数中

代码应该如下所示:

function getTable(){
var args = new Object();
args.op = "getTable";
$.post("./service.php", args , function(data)
    {
        var dataObj = JSON.parse(data);
        for(var i = 0; i<dataObj.length; i++){
            $('table#items tbody').append("<tr class=\"items_tr\" id=\"item"+dataObj[i].sn+"\"><td>"+dataObj[i].sn+"</td><td>"+dataObj[i].name+"</td><td>"+dataObj[i].description+"</td><td>"+dataObj[i].belonged+"</td></tr>");
    }
        $('tbody').children("tr").hide();
        $("tbody tr").hide();
        $("tr.items_tr").hide();
});
}

 getTable();
函数getTable(){
var args=新对象();
args.op=“getTable”;
$.post(“./service.php”),参数,函数(数据)
{
var dataObj=JSON.parse(数据);

对于(var i=0;iHi,jquery绑定document.ready上的事件。如果存在在document.ready之后创建的元素,则需要使用jquery的.bind()函数为这些事件注册这些元素。但请确保首先注销所有附加的元素。使用unbind()


请参阅绑定和取消绑定函数。

Hi jquery绑定document.ready上的事件。如果存在在document.ready之后创建的元素,则需要使用jquery的.bind()函数为这些事件注册这些元素。但请确保首先取消注册所有附加的元素。使用unbind()


请参阅绑定和取消绑定函数。

Hi jquery绑定document.ready上的事件。如果存在在document.ready之后创建的元素,则需要使用jquery的.bind()函数为这些事件注册这些元素。但请确保首先取消注册所有附加的元素。使用unbind()


请参阅绑定和取消绑定函数。

Hi jquery绑定document.ready上的事件。如果存在在document.ready之后创建的元素,则需要使用jquery的.bind()函数为这些事件注册这些元素。但请确保首先取消注册所有附加的元素。使用unbind()



请参阅绑定和解除绑定函数。

这是一个异步调用…需要等待它完成后再进行选择。这是一个异步调用…需要等待它完成后再进行选择。这是一个异步调用…需要等待它完成后再进行选择。这是一个异步调用…需要等待它完成后再进行选择。因此re除了在ajax调用中之外,没有办法选择它?@JeanYang:你不能选择不存在的内容。但是,你可以隐藏行的现有祖先,这会产生类似的效果。我真的不想隐藏它,我想对它做些其他事情,比如绑定a.on()函数。我只是想确保我可以选择它。如果你想绑定事件处理程序,你可以使用事件委派,就像这里解释的:所以我必须写一个祖先(容器)对于它,在它的祖先上做些什么?所以除了在ajax调用中,没有办法选择它吗?@JeanYang:你不能选择不存在的东西。但是你可以隐藏行的现有祖先,这可能会导致