从jQuery HTMLLIElement对象获取代码

时间:2011-11-11 11:28:26

标签: javascript jquery html

我有一个函数可以向元素添加一些代码。问题是,当我使用jQuery的选择器($('.wdcl'))时,它工作正常,但是当我创建一个新元素并将其发送到函数时,它将无法工作。

以下是HMTL文件中嵌入的代码:

<script type="text/javascript">
    $(document).ready(function() {
        $('#menu li a').click(function(){ 
            //...
            var $newItem = $('<li id="TEST" class="widget color-blue"></li>').appendTo($(columns).first());
            obj.doWidget($newItem.get(0));            
            return false;  
        });  
    });  
</script>

这里是.js文件中的代码(addWidgetControls函数是从其他地方调用的。我想在菜单项添加另一个小部件时也运行doWidget函数):

addWidgetControls: function () {
    var func = this.doWidget;

    $('.widget', $('.column')).each(function () {
        func(this);
    });
},

doWidget: function (wid) {
    alert(wid);
        //...
    }

所以如果我使用了错误的语法,请告诉我,否则,请告诉我如何从传递的对象中打印出来源以查看错误。谢谢。

2 个答案:

答案 0 :(得分:0)

这取决于您的obj.doWidget()功能。如果它怀疑给定元素是jquery元素,则不应使用get(0)

get() Retrieve the DOM elements matched by the jQuery object. So it isn't a jQuery object

答案 1 :(得分:0)

在IE9中,我使用$newItem.get(0).outerHTML并且它有效。