我有一个有许多孩子的div
。如何使用div
将所有这些内容移至另一个jQuery
?
我的代码看起来像:
jQuery("body").append("<div id='popupWrapper'></div>");
var myID = $('.FloatingFrameLightBlue1').attr('id');
jQuery(myID).children().append("popupWrapper");
但它不起作用。我做错了什么?
答案 0 :(得分:10)
这里有一个非常简单的例子:http://jsfiddle.net/LhR79/
正如他们已经告诉过你的那样。您需要使用appendTo
而不是append
,并使用名称前面的.
或#
指定选择器类型(class,id ...)。在你的情况下:#popupWrapper
因为popupWrapper是一个ID,而不是一个类。
答案 1 :(得分:6)
试试这个:
jQuery("#" + myID).children().appendTo("#popupWrapper");
要按id
选择元素,您需要在选择器中加入#
。因此,执行追加的行需要以jQuery("#" + myID)
而不是jQuery(myID)
开头,您需要"#popupWrapper"
而不是"popupWrapper"
。
另一个问题是.append()
method的工作方式与您想要做的相反,也就是说,它将参数中指定的内容插入到匹配元素集中每个元素的末尾。你想要.appendTo()
method。
另外,请注意这一行:
var myID = $('.FloatingFrameLightBlue1').attr('id');
...获取该类的第一个元素的id(假设至少有一个这样的元素并且它具有id属性,否则myID
将是{{ 1}})。
但假设该类只有一个元素,你不需要id来进行追加,你可以这样做:
undefined
答案 2 :(得分:4)
您可能需要使用appendTo()
代替append()
同时使用ID为#
jQuery('#'+myID).children().appendTo("#popupWrapper");
答案 3 :(得分:4)
示例:HERE。
你正在为孩子们添加字符串“popupWrapper”,这没有任何意义。 您应该执行以下操作:
jQuery(myID).children().appendTo("#popupWrapper");
答案 4 :(得分:0)
只需添加其他答案,如果您有空格或需要移动的文字,则需要使用childNodes
{
"dependencies": {
"@angular/animations": "5.0.1",
"@angular/common": "5.0.1",
"@angular/compiler": "5.0.1",
"@angular/compiler-cli": "5.0.1",
"@angular/core": "5.0.1",
"@angular/forms": "5.0.1",
"@angular/http": "5.0.1",
"@angular/platform-browser": "5.0.1",
"@angular/platform-browser-dynamic": "5.0.1",
"@ionic-native/core": "4.8.0",
"@ionic-native/splash-screen": "4.8.0",
"@ionic-native/status-bar": "4.8.0",
"@ionic/storage": "2.1.3",
"core-js": "^2.5.7",
"ionic-angular": "3.9.2",
"ionicons": "3.0.0",
"ngx-restangular": "2.0.1",
"rxjs": "5.4.3",
"sw-toolbox": "3.6.0",
"zone.js": "0.8.26"
},
"devDependencies": {
"@ionic/app-scripts": "3.1.10",
"typescript": "~2.6.2"
}
}
jQuery supports this actually,您只需要使用.contents()
而不是$('#popupWrapper').append($('#' + myID)[0].childNodes);
.children()