【问题标题】:Can't get div inner HTML on jQuery ready function无法在 jQuery 就绪功能上获取 div 内部 HTML
【发布时间】:2015-08-03 02:03:59
【问题描述】:

我的页面上有一些代码,例如:

$(document).ready(function(){

//code

});

在 jQuery 上,有一段代码可以获取 div 内部 HTML:

var tmp = document.getElementById("content").InnerHTML;

它返回未定义。据我所知,当页面 HTML 完全加载时,jQuery 就绪运行。但它不能只找到div!

jQuery include 和 div id 是正确的。

有什么想法吗?

【问题讨论】:

    标签: jquery dom innerhtml


    【解决方案1】:
    var tmp = document.getElementById("content").InnerHTML;
    

    这会起作用,除了 InnerHTML 不是 HTMLElement 的属性。你只是拼错了 innerHTML。

    试试

                                                 v
    
    var tmp = document.getElementById("content").innerHTML;
    
                                                 ^
    

    【讨论】:

    • 用箭头很好地触摸。
    【解决方案2】:

    如果您已经在使用 jQuery,为什么不使用它来查找您的 DOM 元素呢?假设您的 div 的 ID 为“content”:

    $(document).ready(function(){
      var $tmp = $("#content"),
          html = $tmp.html();
    });
    

    【讨论】:

    • 在第 2 行,将末尾的分号替换为逗号。
    • 多谢指教。
    • @roberthofer 并不是为了警告。简单地说,jQuery 会给你很多额外的工具来操作元素。当然,如果您只需要获取该元素的内部 HTML,那么使用 vanilla JS 会更快。但是缓存元素的 jQuery 对象非常快,然后您可以访问所有其他方法(绑定事件等)。
    猜你喜欢
    • 2011-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-22
    • 2012-07-29
    • 1970-01-01
    相关资源
    最近更新 更多