var testStr='World';
tUserBlock.setAttribute('onclick', 'javascript:alert("Hello" + testStr)');
这可能是一个愚蠢的问题,但我正在尝试向 .setAttribute onclick 事件添加一个变量,但我不太确定将变量添加到引号中的正确语法是什么?上述警报未显示。
var testStr='World';
tUserBlock.setAttribute('onclick', 'javascript:alert("Hello" + testStr)');
这可能是一个愚蠢的问题,但我正在尝试向 .setAttribute onclick 事件添加一个变量,但我不太确定将变量添加到引号中的正确语法是什么?上述警报未显示。
var testStr='World';
tUserBlock.setAttribute('onclick', 'javascript:alert("Hello '+testStr+'")');
然而,这是一种将点击事件绑定到元素的糟糕方式。相反,请查看element.addEventListener
方法 - 这是绑定的首选方式。这有多种原因 - 一个是您不仅限于每种类型的一个事件(就像您当前的方法一样)。另一个是它使代码远离您的标记。
这是绑定事件的正确方式(无需使用setAttribute
):
var testStr='World';
tUserBlock.onclick = function() { alert("Hello" + testStr) };
如果你仍然坚持原来的方式,这是这样做的方式:
var testStr='World';
tUserBlock.setAttribute('onclick', 'javascript:alert("Hello ' + testStr + '")');
这对我有用,我没有改变任何东西:
<button class="tUserBlock">click me</button>
<script>
var tUserBlock = document.querySelector('.tUserBlock');
var testStr='World';
tUserBlock.setAttribute('onclick', 'javascript:alert("Hello" + testStr)');
</script>
尝试这个。
var testStr='World';
tUserBlock.setAttribute('onclick', 'javascript:alert("Hello '+testStr+'")');
我希望这能帮到您。