js定位Element=document.querySelector("<input type="text" value="" readonly="readonly" disabled="disabled">") ,报错:after argument list
时间: 2023-07-02 08:11:46 浏览: 59
出现这个错误是因为您的 JavaScript 代码中存在语法错误,很可能是因为您的字符串中包含了未被转义的引号。您可以尝试将字符串中的双引号改为单引号,或者在引号前加上反斜杠,将其转义。
以下是一个示例代码,使用单引号来定义字符串:
```javascript
var element = document.querySelector('input[type="text"][readonly][disabled]');
```
或者在引号前加上反斜杠,将其转义:
```javascript
var element = document.querySelector("<input type=\"text\" value=\"\" readonly=\"readonly\" disabled=\"disabled\">");
```
请注意,这个示例代码使用了属性选择器,以选择具有 "text" 类型、"readonly" 属性和 "disabled" 属性的输入元素。如果您需要根据不同的属性值来选择元素,请相应地修改选择器。
相关问题
<video id="myVideo" src="myVideo.ogv"></video> <input type="button" value="播放/暂停"/></br> <script> var myVideo =document.querySelector("#myVideo"); var oBtn =document.querySelector("input") oBtn.onclick = function (){ if(myVideo.paused) myVideo.play(); else myVideo.pause(); } </script> 为上述代码增添一些新功能,并给出添加后的代码
以下是为上述代码增添新功能后的代码:
```
<video id="myVideo" src="myVideo.ogv"></video>
<input type="button" value="播放/暂停"/>
<input type="range" id="volumeBar" min="0" max="1" step="0.1" value="1"/>
<input type="range" id="seekBar" min="0" step="0.1"/>
<span id="currentTime">00:00</span>/<span id="duration">00:00</span>
<script>
var myVideo = document.querySelector("#myVideo");
var playBtn = document.querySelector("input[value='播放/暂停']");
var volumeBar = document.querySelector("#volumeBar");
var seekBar = document.querySelector("#seekBar");
var currentTime = document.querySelector("#currentTime");
var duration = document.querySelector("#duration");
// 播放/暂停视频
playBtn.onclick = function () {
if (myVideo.paused) {
myVideo.play();
this.value = "暂停";
} else {
myVideo.pause();
this.value = "播放";
}
};
// 调节音量
volumeBar.oninput = function () {
myVideo.volume = this.value;
};
// 调节进度条
seekBar.oninput = function () {
myVideo.currentTime = this.value;
};
// 更新视频当前时间和总时长
myVideo.ontimeupdate = function () {
var curTime = formatTime(myVideo.currentTime);
var totalDuration = formatTime(myVideo.duration);
currentTime.textContent = curTime;
duration.textContent = totalDuration;
seekBar.value = myVideo.currentTime;
};
// 格式化时间
function formatTime(time) {
var minutes = Math.floor(time / 60);
var seconds = Math.floor(time % 60);
return (minutes < 10 ? "0" + minutes : minutes) + ":" + (seconds < 10 ? "0" + seconds : seconds);
}
</script>
```
代码中新增了调节音量、调节进度条、展示当前时间和总时长等功能,同时对代码进行了一些细节上的优化,比如添加了格式化时间函数,让时间显示更加友好。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>登录</title> <link rel="stylesheet" href="1.css"> <script src="1.js"></script> </head> <body> <div class="login-container"> <h1>登录</h1> <form> <div class="form-group"> <label for="username">用户名</label> <input type="text" id="username" name="username"> </div> <div class="form-group"> <label for="password">密码</label> <input type="password" id="password" name="password"> </div> <button type="submit">登录</button> </form> </div> </body> </html> const form = document.querySelector('form'); const usernameInput = document.querySelector('#username'); const passwordInput = document.querySelector('#password'); form.addEventListener('submit', e => { e.preventDefault(); const username = usernameInput.value; const password = passwordInput.value; if (username == '姜文俊' && password == '123') { alert('登录成功!'); window.location.href = '网页设计.html'; } else { alert('用户名或密码错误!'); } }); 修改此代码使登录有反应
您可以尝试在页面中添加一个用于显示登录状态的元素,例如一个 div 标签,然后在登录成功或失败时动态修改该元素的内容。修改后的代码如下所示:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>登录</title>
<link rel="stylesheet" href="1.css">
<script src="1.js"></script>
</head>
<body>
<div class="login-container">
<h1>登录</h1>
<form>
<div class="form-group">
<label for="username">用户名</label>
<input type="text" id="username" name="username">
</div>
<div class="form-group">
<label for="password">密码</label>
<input type="password" id="password" name="password">
</div>
<button type="submit">登录</button>
</form>
<div id="login-status"></div> <!-- 新增用于显示登录状态的元素 -->
</div>
<script>
const form = document.querySelector('form');
const usernameInput = document.querySelector('#username');
const passwordInput = document.querySelector('#password');
const loginStatusDiv = document.querySelector('#login-status'); // 获取用于显示登录状态的元素
form.addEventListener('submit', e => {
e.preventDefault();
const username = usernameInput.value;
const password = passwordInput.value;
if (username == '姜文俊' && password == '123') {
loginStatusDiv.textContent = '登录成功!'; // 修改用于显示登录状态的元素的内容
window.location.href = '网页设计.html';
} else {
loginStatusDiv.textContent = '用户名或密码错误!'; // 修改用于显示登录状态的元素的内容
}
});
</script>
</body>
</html>
在用户输入正确的用户名和密码后,页面将显示 "登录成功!" 的提示信息,并自动跳转到名为 "网页设计.html" 的页面;在用户输入错误的用户名或密码时,页面将显示 "用户名或密码错误!" 的提示信息。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
var as = document.querySelectorAll('a'); for (var i = 0; i < as.length; i++) { as[i].onclick = function() { tbody.removeChild(this.parentNode.parentNode) } var subject = document.querySelector('.subject'); var name = document.querySelector('.name'); var score = document.querySelector('.score'); var info = document.querySelector('.info'); var tbody = document.querySelector('tbody'); var arr = []; info.addEventListener('submit', function (e) { e.preventDefault(); var obj = { name: name.value, subject: subject.value, score: score.value, } arr.push(obj); this.reset(); for (var i = 0; i < arr.length; i++) { var tr = document.createElement('tr'); tr.innerHTML = ${arr[i].name} ${arr[i].subject} ${arr[i].score} 删除 <button onclick="moveUp(this)">上移</button> <button onclick="moveDown(this)">下移</button> ; } tbody.appendChild(tr); }) 为什么录入name显示undef
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
h1>学生信息表格 <form class="info" autocomplete="off"> 姓名:<input type="text" class="uname" name="uname" /> 科目<input type="text" class="subject" name="subject" /> 成绩:<input type="text" class="score" name="score" /> <button class="add">录入</button> </form> 姓名 科目 成绩 操作 操作 <script> var data = [{ uname: '张三', subject: 'JavaScript', score: 100 }, { uname: '李四', subject: 'JavaScript', score: 90 }, { uname: '刘五', subject: 'JavaScript', score: 90 }]; var tbody = document.querySelector('tbody'); for (var i = 0; i < data.length; i++) { var tr = document.createElement('tr'); tbody.appendChild(tr); for (var k in data[i]) { var td = document.createElement('td'); td.innerHTML = data[i][k]; tr.appendChild(td); } var td = document.createElement('td'); td.innerHTML = '<a href="javascript:;">删除 </a>'; tr.appendChild(td); var td = document.createElement('td'); td.innerHTML = <button onclick="moveUp(this)">上移</button> <button onclick="moveDown(this)">下移</button> ; tr.appendChild(td); } var uname = document.querySelector('.uname'); var subject = document.querySelector('.subject'); var score = document.querySelector('.score'); var info = document.querySelector('.info'); var tbody = document.querySelector('tbody'); var arr = []; info.addEventListener('submit', function (e) { e.preventDefault(); var obj = { uname: uname.value, subject: subject.value, score: score.value, } arr.push(obj); this.reset(); for (var i = 0; i < arr.length; i++) { var tr = document.createElement('tr'); tr.innerHTML = ${arr[i].uname} ${arr[i].subject} ${arr[i].score} 删除 <button onclick="moveUp(this)">上移</button> <button onclick="moveDown(this)">下移</button> ; } tbody.appendChild(tr); }) var as = document.querySelectorAll('a'); for (var i = 0; i < as.length; i++) { as[i].onclick = function() { tbody.removeChild(this.parentNode.parentNode) } function moveUp(btn) { var row = btn.parentNode.parentNode; var prevRow = row.previousElementSibling; if (prevRow) { row.parentNode.insertBefore(row, prevRow); } else { row.parentNode.appendChild(row); } } } function moveDown(btn) { var row = btn.parentNode.parentNode; var nextRow = row.nextElementSibling; if (nextRow) { row.parentNode.insertBefore(nextRow, row); } else { var firstRow = row.parentNode.firstElementChild; row.parentNode.insertBefore(row, firstRow); } } </script>怎么用数组索引上下移动行
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)