document.getElementById使用.sortable()返回null

时间:2013-11-11 21:14:03

标签: null jquery-ui-sortable getelementbyid

脚本:

function initializeSort() {
    jQuery('#apps').sortable().bind('sortupdate', function () {
        // Save order in extension when apps are moved
        var children = document.getElementById("#apps").innerHTML;
        console.log(children);
        chrome.runtime.sendMessage({
            type: "updateApps",
            data: children
        });
    });
}

我收到此错误,

Uncaught TypeError: Cannot read property 'innerHTML' of null 

我唯一能想到的是,它与我在这里使用的.sortable()代码http://farhadi.ir/projects/html5sortable/有关,因为它在我使用.sortable()之前工作正常元件。

2 个答案:

答案 0 :(得分:0)

为什么不使用jquery来接收孩子?

$(document).ready(function() {
 jQuery('#apps').sortable().bind('sortupdate', function () {
     // Save order in extension when apps are moved
     var children = $("#apps").children();
     console.log(children);
     chrome.runtime.sendMessage({
         type: "updateApps",
         data: children
     });
 });
});

http://jsfiddle.net/ZuYpm/

答案 1 :(得分:0)

无论我做了什么,它总会给我一个元素是null错误或者用jQuery一个无法转换循环对象的错误。

我仍然不明白为什么但经过多次拔毛之后我才能使用它,

jQuery('#apps').sortable().bind('sortupdate', function(){ 
    chrome.runtime.sendMessage({ type: "updateApps", data: { list: jQuery("#apps").html()   } });
});

因此,对于具有相同问题的其他人,我认为通过JSON发送数据的最佳方式是使用对象或对象数组,您不必担心这种类型。