javascript-关于jQuery html(),attr()和val()
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript-关于jQuery html(),attr()和val(),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1361字,纯文字阅读大概需要2分钟。
内容图文
![javascript-关于jQuery html(),attr()和val()](/upload/InfoBanner/zyjiaocheng/683/a6a55c8d936b48a4a56565c642dd46b9.jpg)
我想通过html()方法复制一些DOM节点.我使用val()修改输入值,然后使用html()复制输入节点,但是复制的输入值旧!当我使用attr()修改输入值,然后通过html()复制它时,它看起来像是正确的!
<!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>
解决方法:
jQuery实现了.html()、. attr()和.val()之类的功能,
.html() –
element.innerHTML();
.attr(x, y) –
element.setAttribute(x, y);
.val(x) –
element.value = x;
当您使用.val()设置值后运行.html()时,您基本上只是复制整个元素的内部HTML及其未更新的value属性,例如(在您的示例中),
<input type="text" value="1">
这就是为什么该值仍为1.
通过在页面加载后使用.val()更改值,不会更新输入中的属性值.即使是上面的元素,如果您运行,
$('input').val('2'); // <input type="text" value="1">
但是,如果您使用.attr()运行,
$('input').attr('2'); // <input type="text" value="2">
请注意,.html()获取元素的确切HTML内容.
内容总结
以上是互联网集市为您收集整理的javascript-关于jQuery html(),attr()和val()全部内容,希望文章能够帮你解决javascript-关于jQuery html(),attr()和val()所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。