我的代码如下
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="https://cdn.bootcss.com/jquery/2.0.0/jquery.min.js"></script>
</head>
<body>
<div class="name name0">
<p>test</p>
</div>
<div class="name name1">
<p>test2</p>
</div>
<script>
function func1(className) {
return `$('${className}').find('p').text()`
}
for(var i=0;i<$('.name').length;i++){
console.log(`name${i} p:`,func1(`.name${i}`));
}
//第一次循环生成语句: $('.name0').find('p').text();
//第二次循环生成语句: $('.name1').find('p').text();
</script>
</body>
</html>
我并不是想获取每个P的值,只是打个比方。我想知道如何才能通过func1()的返回值动态渲染<script>里面的代码?或者如何才能动态渲染js文件
我想当前代码的这个文件根据.name div 动态生成js代码,如
当有两个.name div
<div class="name name0">
<p>test</p>
</div>
<div class="name name1">
<p>test2</p>
</div>
那么<script>里面最终的代码应该是
<script>
$('.name0').find('p').text();
$('.name1').find('p').text();
</script>
当有三个.name div
<div class="name name0">
<p>test</p>
</div>
<div class="name name1">
<p>test2</p>
</div>
<div class="name name2">
<p>test3</p>
</div>
那么<script>里面最终的代码应该是
<script>
$('.name0').find('p').text();
$('.name1').find('p').text();
$('.name3').find('p').text();
</script>
请问一下如何才能实现这样的效果?
你是想fun1() 里面的return的结果作为执行js语句??可以用eval()才执行