And*_*rew 61 javascript jquery
如何将一个元素的属性复制到另一个元素?
HTML
<select id="foo" class="bar baz" style="display:block" width="100" data-foo="bar">...</select>
<div>No attributes yet</div>
Run Code Online (Sandbox Code Playgroud)
JavaScript的
var $div = $('div');
var $select = $('select');
//now copy the attributes from $select to $div
Run Code Online (Sandbox Code Playgroud)
pim*_*vdb 85
您可以使用本机Node#attributes属性:http://jsfiddle.net/SDWHN/16/.
var $select = $("select");
var $div = $("div");
var attributes = $select.prop("attributes");
// loop through <select> attributes and apply them on <div>
$.each(attributes, function() {
$div.attr(this.name, this.value);
});
alert($div.data("foo"));
Run Code Online (Sandbox Code Playgroud)
Yai*_*evy 14
ES6 语法一行:
function cloneAttributes(target, source) {
[...source.attributes].forEach( attr => { target.setAttribute(attr.nodeName ,attr.nodeValue) })
}
Run Code Online (Sandbox Code Playgroud)
正如第一条评论中所述-您可能不想复制源 id 属性……因此,如果您需要参考,此属性会将其保存为“data-id”属性。
function cloneAttributes(target, source) {
[...source.attributes].forEach( attr => { target.setAttribute(attr.nodeName === "id" ? 'data-id' : attr.nodeName ,attr.nodeValue) })
}
Run Code Online (Sandbox Code Playgroud)
Toc*_*cco 11
编辑
更新了jsfiddler
使用Javascript
$(function(){
var destination = $('#adiv').eq(0);
var source = $('#bdiv')[0];
for (i = 0; i < source.attributes.length; i++)
{
var a = source.attributes[i];
destination.attr(a.name, a.value);
}
});
Run Code Online (Sandbox Code Playgroud)
HTML
<div id="adiv" class="aclass">A class</div>
<div id="bdiv" class="bclass">B class</div>
Run Code Online (Sandbox Code Playgroud)
这是复制#bdiv属性 #adiv.
小智 9
很简单
function cloneAttributes(element, sourceNode) {
let attr;
let attributes = Array.prototype.slice.call(sourceNode.attributes);
while(attr = attributes.pop()) {
element.setAttribute(attr.nodeName, attr.nodeValue);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
44448 次 |
| 最近记录: |