jQuery DOM - 缺少元素,长度为0

时间:2015-05-01 12:05:21

标签: jquery html jquery-append

需要更好地了解DOM / Missing元素。

我用

$(document).ready(function(){ 
// show div tag
});

但是我似乎不知道我的元素在DOM中是不可用的。

console.log($(".show_quota").length);     
console.log($(".show_restriction").length); 

两个长度都是0.所以这些div标签在我的DOM中不可用。

那我该找什么? 如何在DOM中获取这些元素?知道为什么这些html表单元素会消失在DOM中吗?

$(document).ready(function()确保所有html元素都出现在dom中吗?只要在jquery中正确调用类和id?

更新1:安装了Mozilla DOM Inspector - 但信息不知所措:)

但是嘿......看看好的旧源html(通过Inspect Element With Firebug)和div标签不显示......所以......难怪jquery命令不起作用。

更新2: html标记通过;

处理
    $('#modal').html("");

        var output = '<div class="modal-content">';
        output += 'some html stuff';
        output += '<div id="show_quota" >'; 
        output += 'some html stuff 2';
        output += '</div>'; 


    $('#modal').append(output);
    $('#modal').reveal();     

更新3:问题已解决;

通过;

  1. 卸载FireQuery(我的设置上的Buggy)
  2. 修改

      output += '<div id="show_quota" >';    // to line below
      output += '<div id="show_quota" style="display:inline" >'; 
    
  3. 单击复选框时,这些标签会显示/消失。

1 个答案:

答案 0 :(得分:2)

将这样的内容添加到DOM ...

<div class="show_quota"></div>
<div class="show_restriction"></div>

class引用id引用

e.g。 <div id="show_restriction"></div>会使用console.log($("#show_restriction").length);

如果你需要测试,

这里是fiddle