【发布时间】:2018-04-19 18:04:34
【问题描述】:
当我试图弄清楚 jQuery 是如何工作的时候,这个问题就出现了。如何声明一个字符串,然后将其转换为机器可读。简而言之,如何放置不带引号的字符串,以便字符串解析为document.querySelector,然后使用选择器添加括号。之前,我有eval(S)(.wrapper).className = "red";
我基本上想实现注释的内容,这里是相关代码:
const S = "document.querySelector";
S(".wrapper").className = "red";
/* Below is how I want the final result as. */
/* document.querySelector(".wrapper").className = "red" */
html, body {
max-width: 100%;
overflow-x: hidden;
margin: 0;
padding: 0;
}
.wrapper{
width: 100%;
height: 100vh;
text-align: center;
top: 50;
left: 50;
color: dodgerblue;
}
.red {
color: red;
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Dom.js</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="wrapper">
<h1>Dom.js</h1>
<p>Making Dom Manipulation Easier!</p>
</div>
<script src="app.js"></script>
</body>
</html>
【问题讨论】:
-
您不必将其设为字符串。
var S = document.querySelector;将允许您在该变量作用域的代码中使用 S 代替该方法。不知道为什么要这样做,因为它会使代码不太清晰。 -
10 次中有 11 次,当有人想知道如何将字符串转换为可执行代码时,解决方案是换个角度思考问题。
标签: javascript jquery