Javascript 如何为一个元素设置更改属性?使用JS而不是JQuery

Javascript 如何为一个元素设置更改属性?使用JS而不是JQuery,javascript,html,Javascript,Html,我正在尝试创建一个表单,根据选中的复选框更改输入字段的属性。我在另一个问题中看到,我们可以创建具有类似函数的元素及其属性,但当我将其调整为这种形式时,它不起作用,任何人都可以帮助我这样做吗?我知道使用JQuery更容易,但我需要在纯JS中完成 <!DOCTYPE html> <html> <body> <form role="search" method="get" action=""> <input type="checkbox" id=

我正在尝试创建一个表单,根据选中的复选框更改输入字段的属性。我在另一个问题中看到,我们可以创建具有类似函数的元素及其属性,但当我将其调整为这种形式时,它不起作用,任何人都可以帮助我这样做吗?我知道使用JQuery更容易,但我需要在纯JS中完成

<!DOCTYPE html>
<html>
<body>

<form role="search" method="get" action="">
<input type="checkbox" id="check-minor" name="check-minor" onclick="searchFunc()"> <label for="check-minor">Menor</label>
<input type="text" name="qt" id="qt" placeholder="Write your Shop Code" required pattern="[0-9A-Za-z]{7,9})" size="30">
</div>
<button type="submit" class="btn btn-default" id="submit-button">Search</button>
</form>

<script>

function setAttributes(elements, attributes) {
  Object.keys(attributes).forEach(function(name) {
    element.setAttribute(name, attributes[name]);
  })
}

var qtpie = document.getElementById("qt");
function searchFunc() {
    if (document.getElementById("check-minor").checked){
        setAttributes(qtpie, {
            required pattern: "[0-9]{11}",
            placeholder: "Shop Code for Minors"
        }) 
    } else {
        document.getElementById("qt").placeholder= "Write your Shop Code"
    }

</script>

</body>
</html> 

门诺
搜寻
函数集合属性(元素、属性){
Object.keys(attributes).forEach(函数(名称){
setAttribute(名称,attributes[name]);
})
}
var qtpie=document.getElementById(“qt”);
函数searchFunc(){
if(document.getElementById(“check minor”).checked){
设置属性(qtpie{
所需模式:“[0-9]{11}”,
占位符:“未成年人商店代码”
}) 
}否则{
document.getElementById(“qt”).placeholder=“编写您的店铺代码”
}

给你,你的代码中有一些打字错误,缺少花括号

函数集合属性(元素、属性){
Object.keys(attributes).forEach(函数(名称){
elements.setAttribute(name,attributes[name]);
})
}
var qtpie=document.getElementById(“qt”);
函数searchFunc(){
if(document.getElementById(“check minor”).checked){
设置属性(qtpie{
必填项:“”,
模式:“[0-9]{11}”,
占位符:“未成年人商店代码”
})
}否则{
document.getElementById(“qt”).placeholder=“编写您的店铺代码”
}
}

门诺
搜寻

参数是
elements
,但是您使用
element.setAttribute
。您看到了区别吗?您的javascript对象中也有一个空格
required模式
您缺少函数定义的结尾
}
。它应该是
required:“required”,
您没有在控制台中看到错误消息吗?