将元素设置为父元素

9 浏览
0 Comments

将元素设置为父元素

我有一个现有的HTML代码如下;\n


\n我正在使用jQuery动态创建一个表单,代码如下;\n

$('<' + items.type + '/>').attr({
        "action": items.action,
         "name": items.name,
         "class": items.attributes.class
        })

\n现在我希望这个\"form\"元素成为现有的\"maincontent\" div的父元素\n所以DOM应该像这样;\n

\n如何使用jQuery实现这个功能?\n而且在这一行代码中(在Firefox中正常工作),我在IE中遇到了预期的标识符错误;\n

var formEle = $('<' + items.type + '/>').attr({
        "action": items.action,
         "name": items.name,
         "class": items.attributes.class});

0
0 Comments

问题的出现原因:需要将一个元素从一个父元素移动到另一个父元素,但是没有找到合适的方法来实现这个功能。

解决方法:

1. 在Stack Overflow网站上提供了一个很好的解决方案,可以使用jQuery来移动子元素到另一个父元素。可以通过以下代码来实现:

(function($){
    $.fn.moveTo = function(selector){
        return this.each(function(){
            var cl = $(this).clone();
            $(cl).appendTo(selector);
            $(this).remove();
        });
    };
})(jQuery);

2. 使用上述代码中提供的moveTo方法,可以将元素移动到指定的父元素中。例如,可以使用以下代码将元素移动到名为[FormSelectorHere]的父元素中:

$('#maincontent').moveTo('[FormSelectorHere]');

通过上述代码,可以轻松地将一个元素从一个父元素移动到另一个父元素。

0
0 Comments

问题的出现原因:

在这段代码中,需要将`#maincontent`元素作为父元素包裹`form`元素。然而,在jQuery中并没有提供类似`wrapAround(smth)`的方法,因此需要寻找其他解决方法。

解决方法:

一种解决方法是使用`form.append($("#maincontent"))`,然后继续使用`form`进行链式操作。另一种解决方法是使用上述提到的`wrap`方法,但不需要使用额外的`form`变量。

另外,需要注意的是,`class`是IE中的保留字。因此,初始答案中将`class`放在引号中。

0