2
var testStr='World';
tUserBlock.setAttribute('onclick', 'javascript:alert("Hello" + testStr)');

这可能是一个愚蠢的问题,但我正在尝试向 .setAttribute onclick 事件添加一个变量,但我不太确定将变量添加到引号中的正确语法是什么?上述警报未显示。

4

4 回答 4

4
var testStr='World';
tUserBlock.setAttribute('onclick', 'javascript:alert("Hello '+testStr+'")');

然而,这是一种将点击事件绑定到元素的糟糕方式。相反,请查看element.addEventListener方法 - 这是绑定的首选方式。这有多种原因 - 一个是您不仅限于每种类型的一个事件(就像您当前的方法一样)。另一个是它使代码远离您的标记。

于 2013-09-28T12:06:43.200 回答
1

这是绑定事件的正确方式(无需使用setAttribute):

var testStr='World';
tUserBlock.onclick = function() { alert("Hello" + testStr) };

如果你仍然坚持原来的方式,这是这样做的方式:

var testStr='World';
tUserBlock.setAttribute('onclick', 'javascript:alert("Hello ' + testStr + '")');
于 2013-09-28T12:06:53.263 回答
0

这对我有用,我没有改变任何东西:

<button class="tUserBlock">click me</button>

<script>
  var tUserBlock = document.querySelector('.tUserBlock');
  var testStr='World';
  tUserBlock.setAttribute('onclick', 'javascript:alert("Hello" + testStr)');  
</script>
于 2013-09-28T12:10:55.643 回答
0

尝试这个。

var testStr='World';
tUserBlock.setAttribute('onclick', 'javascript:alert("Hello '+testStr+'")');

我希望这能帮到您。

于 2013-09-28T12:08:28.647 回答