所以我有这个问题,我认为 Javascript 可以解决,而且由于我仍在学习这门语言,这是另一个问题,所以我在这里寻求帮助。
我想换行文本节点I would like to opt in to receive future communication from.
在<span class="something"></span>
.
我的计划是循环它,以便它将跨度添加到元素下的所有节点文本内容
所以我对其进行了编码,控制台显示错误 Uncaught SyntaxError: Unexpected identifier
原始 HTML
<tbody>
<tr>
<td>
<label class="gotowebinar-required" for="577271555173">I would like to opt in to receive future communication from</label>
</td>
</tr>
</tbody>
所以我得出了这个我认为看起来很糟糕的代码,它似乎不起作用并且是一个变量怪胎。
JS
function changeEl(){
var r = document.getElementsByClassName('gotowebinar-required').length;
for (var i = 0; i <= r; i++){
console.log(r);
var m = '[';
var n = ']';
var b = m+i+n;
var x = document.getElementsByClassName('gotowebinar-required')b;
var w = document.getElementsByClassName('gotowebinar-required')b.innerHTML;
var y = x.innerHTML;
var p = '<span style="font-weight: bold;"class="label_1">';
var q = '</span>';
x.innerHTML = p+w+q;
};
};
changeEl();
最后,我要找的是
<tbody>
<tr>
<td>
<label class="gotowebinar-required" for="577271555173">
<span style="font-weight: bold;"class="label_1">I would like to opt in to receive future communication from.</span>
</label>
</td>
</tr>
</tbody>
所有具有 gotowebinar-required
类的元素.
最佳答案
您不能像您一样使用“[”和“]”来引用数组内的项目。如果您使用像下面这样的直接 [i] 代码,那么您就可以开始了。
function changeEl(){
var r = document.getElementsByClassName('gotowebinar-required').length;
for (var i = 0; i < r; i++){
console.log(r);
var x = document.getElementsByClassName('gotowebinar-required')[i];
var w = document.getElementsByClassName('gotowebinar-required')[i].innerHTML;
var y = x.innerHTML;
var p = '<span style="font-weight: bold;"class="label_1">';
var q = '</span>';
x.innerHTML = p+w+q;
};
};
changeEl();
关于javascript - 通过 For 循环更改文本节点但导致意外的标识符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46345089/