javascript - 无法将 setAttributeNode 应用于文本区域

标签 javascript jquery html textarea

有人可以帮助我吗?我想在 textarea 上做这样的事情来设置 maxlength 属性:

<!DOCTYPE html>
<html>
<head>
<style>
.democlass {
    color: red;
}
</style>
</head>
<body>

<h1>Hello World</h1>

<p>Click the button to create a "class" attribute with the value "democlass" and insert it to the H1 element above.</p>

<button onclick="myFunction()">Try it</button>

<script>
function myFunction() {
    var h1 = document.getElementsByTagName("H1")[0];
    var att = document.createAttribute("class");
    att.value = "democlass";
    h1.setAttributeNode(att);
}
</script>

</body>
</html>

我的代码是:

<!DOCTYPE html>
<html>
<head>
<style>
</head>
<body>

<textarea>Hello World</textarea>

<button onclick="myFunction()">change max length</button>

<script>
function myFunction() {
    var text = document.getElementsByTagName("textarea");
    var att = document.createAttribute("maxlength");
    att.value = "100";
    text.setAttributeNode(att);
}
</script>

</body>
</html>

如果我通过单击按钮运行脚本,控制台会显示:

Uncaught TypeError: h1.setAttribute is not a function.

Ps:我是 stackoverflow 的新手 :)

最佳答案

您的代码中有一些错误。看看这个简化的:

jsFiddle

<h1>Hello World</h1>

<textarea rows="10" cols="40"></textarea><br />
<button onclick="myFunction()">change max length</button>

<script>
    function myFunction() {
    var text = document.getElementsByTagName("textarea")[0];
    text.setAttribute("maxlength", 100);
}
</script>

关于javascript - 无法将 setAttributeNode 应用于文本区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32517452/

相关文章:

Javascript new Date().getTime 早于 newDate(year,month...)

javascript - 如何检查用户是否正在刷新页面或导航到其他页面

javascript - 如何在页面之间移动时显示加载

javascript - 如何获取侧边栏下拉列表中所有工作表的列表

javascript - 当元素悬停时,css 中的悬停不起作用

javascript - 如何从javascript设置html表单的属性

javascript - 无法在 href 标签上定义点击事件

javascript - Div selected - Unread Message - 像 facebook 收件箱一样阅读消息

javascript - 页面重新加载时更改文本

jquery - 每次使用 jQuery 单击同一个按钮时,可以加载随机文件吗?