怎么通过JS修改label元素的name属性
时间: 2024-03-25 07:38:26 浏览: 97
你可以通过 JavaScript 中的 `setAttribute()` 方法来修改 label 元素的 name 属性,代码如下:
```javascript
document.querySelector('label').setAttribute('name', 'newName');
```
这行代码会选择文档中的第一个 label 元素,并将其 name 属性设置为 "newName"。你可以根据实际情况修改选择器和属性值。
相关问题
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>表单验证</title> <script src="jquery-1.11.0.min.js"></script> <script> // 获取信息 var username; var password; var aiHao; function formCherk(){ username = $("#username").value; password = $("#password").value; aiHao = $(".aiHao").value; console.log(username + " " + password); // 校验 // 不符合 if (username == null || username == ""){ alert("姓名不能为空"); return false; } if(password == null || password == ""){ alert("密码不能为空"); return false; } var cherked = false; $(".aiHao").each(function(){ if($(this).prop("cherked")){ cherked = true; return false; } }); if(!cherked){ alert("请选择兴趣爱好"); return false; } return true; } </script> </head> <body> <form id = "myForm"> <label for="name">姓名:</label> <input type="text" id="username" name="username"></input><br> <label for="name">密码:</label> <input type="password" id="password" name="password"></input><br> <label for="name">兴趣爱好:</label> <input type="checkbox" class="aiHao" name="aiHao" value="跑步">跑步</input> <input type="checkbox" class="aiHao" name="aiHao" value="打球">打球</input> <input type="checkbox" class="aiHao" name="aiHao" value="跳舞">跳舞</input><br> <input type="submit" value="注册"></input> <input type="submit" value="登录"></input> </form> </body> </html>哪有问题
该代码存在以下问题:
1. `$` 符号未被正确引用,需要先引入 jQuery 库。
2. 获取元素属性值的方式不正确,应该使用 `.val()` 方法。
3. 判断复选框是否被选中的代码有误,应该使用 `.prop("checked")` 方法。
修改后的代码如下:
```
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>表单验证</title>
<script src="jquery-1.11.0.min.js"></script>
<script>
// 获取信息
var username;
var password;
var aiHao;
function formCherk() {
username = $("#username").val();
password = $("#password").val();
aiHao = $(".aiHao:checked").val();
console.log(username + " " + password);
// 校验
// 不符合
if (username == null || username == "") {
alert("姓名不能为空");
return false;
}
if (password == null || password == "") {
alert("密码不能为空");
return false;
}
var cherked = false;
$(".aiHao").each(function () {
if ($(this).prop("checked")) {
cherked = true;
return false;
}
});
if (!cherked) {
alert("请选择兴趣爱好");
return false;
}
return true;
}
</script>
</head>
<body>
<form id="myForm">
<label for="name">姓名:</label>
<input type="text" id="username" name="username"><br>
<label for="name">密码:</label>
<input type="password" id="password" name="password"><br>
<label for="name">兴趣爱好:</label>
<input type="checkbox" class="aiHao" name="aiHao" value="跑步">跑步</input>
<input type="checkbox" class="aiHao" name="aiHao" value="打球">打球</input>
<input type="checkbox" class="aiHao" name="aiHao" value="跳舞">跳舞</input><br>
<input type="submit" value="注册" onclick="return formCherk()">
<input type="submit" value="登录" onclick="return formCherk()">
</form>
</body>
</html>
```
修改后的代码中,增加了 jQuery 库的引入,修改了获取元素属性值的方式,修改了判断复选框是否被选中的代码,同时在提交按钮上绑定了验证函数 `formCherk()`。
已知图书有三个属性(id,name,pressId),出版社有2个属性(id,name) 其中图书的pressId对应出版社的id 图书查询接口/book/getBookById,出版社查询接口/book/getPress, ajax请求返回对象放在Model中 请编写一个html页面实现图书的修改,使用thymeleaf+jquery的方式,要求出版社是下拉框形式
好的,那我来为您编写一个示例代码,以供参考。
首先,您需要在后端编写两个接口,分别是/book/getBookById和/book/getPress,用于查询图书和出版社的信息。这里我假设您已经编写好了这两个接口,并且可以返回正确的数据。
然后,您需要在前端编写一个HTML页面,使用Thymeleaf和jQuery实现图书的修改功能。下面是示例代码:
```html
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>图书管理系统 - 修改图书信息</title>
<!-- 引入jQuery库 -->
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
</head>
<body>
<h1>修改图书信息</h1>
<form id="bookForm">
<input type="hidden" name="id" th:value="${book.id}">
<label>图书名称:</label>
<input type="text" name="name" th:value="${book.name}"><br>
<label>出版社:</label>
<select name="pressId" id="pressSelect">
<!-- 根据已有的出版社信息生成下拉框选项 -->
<option value="">请选择出版社</option>
<th:block th:each="press : ${pressList}">
<option th:value="${press.id}" th:selected="${press.id == book.pressId}" th:text="${press.name}"></option>
</th:block>
</select><br>
<button type="submit">保存</button>
</form>
<script type="text/javascript">
// 当页面加载完成后执行
$(function () {
// 绑定表单提交事件
$("#bookForm").submit(function (event) {
// 阻止表单的默认提交行为
event.preventDefault();
// 调用保存图书信息的函数
saveBook();
});
// 加载出版社信息
loadPressList();
});
// 加载出版社信息
function loadPressList() {
$.ajax({
url: "/book/getPress",
type: "GET",
success: function (data) {
// 将查询结果存储到Model中
var pressList = data;
// 根据已有的出版社信息生成下拉框选项
var options = "";
options += '<option value="">请选择出版社</option>';
for (var i = 0; i < pressList.length; i++) {
var press = pressList[i];
options += '<option value="' + press.id + '">' + press.name + '</option>';
}
$("#pressSelect").html(options);
},
error: function () {
alert("加载出版社信息失败!");
}
});
}
// 保存图书信息
function saveBook() {
$.ajax({
url: "/book/saveBook",
type: "POST",
data: $("#bookForm").serialize(),
success: function () {
alert("保存成功!");
},
error: function () {
alert("保存失败!");
}
});
}
</script>
</body>
</html>
```
在这个页面中,我们使用Thymeleaf的语法将后端传递过来的图书信息和出版社信息渲染到页面上,同时使用jQuery来处理表单的提交和加载出版社信息等操作。
其中,我们使用一个select元素来展示出版社信息,通过ajax请求获取到出版社信息后,根据已有的出版社信息生成下拉框选项,并将查询结果存储到Model中。
在表单提交时,我们使用jQuery的serialize方法将表单数据序列化为一个字符串,然后通过ajax请求将数据提交到后端的保存图书信息的接口中。
当保存成功或失败时,我们使用alert弹出提示框来提示用户。
阅读全文