【发布时间】:2016-06-24 02:41:19
【问题描述】:
我想通过 html() 方法复制一些 DOM 节点。我用val()修改输入值,然后用html()复制输入节点,但是复制输入的值是旧的!!当我使用 attr() 修改输入值,然后通过 html() 复制它时,它看起来像 RIGHT!
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
</head>
<body>
<p id="con1"><input type="text" value="1"></p>
<p id="con2"></p>
<button onclick="doTest1()">test1</button>
<button onclick="doTest2()">test2</button>
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script type="text/javascript">
var doTest1 = function() {
$("#con1 > input").val("2");
$("#con2").html( $("#con1").html() );
};
var doTest2 = function() {
$("#con1 > input").attr("value","2");
$("#con2").html( $("#con1").html() );
};
</script>
</body>
</html>
【问题讨论】:
-
请在问题中包含所有相关代码,而不是链接到外部来源。
-
对于一个没有代码的模糊问题立即获得两个支持?我闻到袜子木偶的味道。
-
你基本上只是想克隆一个元素吗?
-
尝试 .clone() 而不是 .html()。 api.jquery.com/clone
-
尝试在追加后用
val()更改值。
标签: javascript jquery