获取 Livequery 创建的元素

发布于 2024-09-26 10:06:18 字数 1618 浏览 7 评论 0原文

我正在使用 livequery 插件制作一个表格

function soroRow(numSoro){
    if(numSoro % 2 == 0) var cRow = 'even';
    else var cRow = 'odd';
    var content = ($('<tr>')
       .addClass(cRow)
       .attr('id', 'soro_'+numSoro)
       .append($('<td />').appendText(numSoro+''))
       .append($('<td />')
           .append($('<select>')
               .addClass('soro')
               .addClass('required')
               .attr('name', 'soroColetado')
               .attr('id'  , 'soroColetado_' + numSoro)
               .append($("<option> ----  </option>"))
               .append($("<option value='sim'> Sim  </option>"))
               .append($("<option value='nao'> N&atilde;o  </option>"))
               .append($("<option value='ignorado'> Ignorado  </option>"))
           )
       )
       .append($('<td />')
           .append($('<input>')
               .addClass('number')
               .attr('name', 'numeroSoro')
               .attr('disabled', 'disabled')
               .attr('id', 'numeroSoro_'+numSoro)
           )
       )
   );
   return content;
}

如果我输入

$(document).ready( function(){

以下几行:

console.log($('table'));
console.log($('#soroColetado_1'));

第一行给出以下输出:

[table.datatable]

当我单击时,FireBug 会向我显示完美的 HTML 代码(生成 通过 livequery),包括 id 为“soroColetado_1”的元素,

但我的第二行返回

[]

这很奇怪,因为它的元素似乎存在,因为第一个 console.log 线。

我的问题是:我怎样才能得到这个元素?

I'm doing a table using the plugin livequery

function soroRow(numSoro){
    if(numSoro % 2 == 0) var cRow = 'even';
    else var cRow = 'odd';
    var content = ($('<tr>')
       .addClass(cRow)
       .attr('id', 'soro_'+numSoro)
       .append($('<td />').appendText(numSoro+''))
       .append($('<td />')
           .append($('<select>')
               .addClass('soro')
               .addClass('required')
               .attr('name', 'soroColetado')
               .attr('id'  , 'soroColetado_' + numSoro)
               .append($("<option> ----  </option>"))
               .append($("<option value='sim'> Sim  </option>"))
               .append($("<option value='nao'> Não  </option>"))
               .append($("<option value='ignorado'> Ignorado  </option>"))
           )
       )
       .append($('<td />')
           .append($('<input>')
               .addClass('number')
               .attr('name', 'numeroSoro')
               .attr('disabled', 'disabled')
               .attr('id', 'numeroSoro_'+numSoro)
           )
       )
   );
   return content;
}

If I put in

$(document).ready( function(){

this lines:

console.log($('table'));
console.log($('#soroColetado_1'));

The first line give this following output:

[table.datatable]

and when I click, the FireBug show me the perfect HTML code (generated
by livequery), including the element that have id "soroColetado_1"

But my second line return

[]

Which is weird, because it element seems to exist because of the first console.log
line.

My question is: How can I get this element?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文