Javascript jQuery-无法选择动态创建的元素
以下是我的HTML结构: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>
<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:你不能选择不存在的东西。但是你可以隐藏行的现有祖先,这可能会导致