如何将字符串与变量连接在一起?

所以我试图用一个字符串和一个传递的变量(是一个数字)制成一个字符串。我怎么做?

我有这样的事情:

function AddBorder(id){

document.getElementById('horseThumb_'+id).className='hand positionLeft'

}

那么,如何将“ horseThumb”和一个id放入一个字符串中呢?

我尝试了所有各种选项,还用谷歌搜索,除了学习可以在这样的字符串中插入变量getElementById("horseThumb_{$id}")<-(对我不起作用,我不知道为什么),我发现没有任何用处。因此,任何帮助将不胜感激。

回答:

您的代码是正确的。也许您的问题是您没有将ID传递给AddBorder函数,或者不存在具有该ID的元素。或者,您可能在通过浏览器的DOM访问相关元素之前运行函数。

要确定第一种情况或确定第二种情况的原因,请将它们添加为函数内的第一行:

alert('ID number: ' + id);

alert('Return value of gEBI: ' + document.getElementById('horseThumb_' + id));

每次调用该函数时,都会打开弹出窗口,其值为,id返回值为document.getElementById。如果获得undefinedID号弹出窗口,则没有将参数传递给该函数。如果该ID不存在,您将在第一个弹出窗口中获得您的(不正确?)ID号,但null在第二个弹出窗口中获得。

如果您的网页看起来像这样,AddBorder并在页面仍加载时尝试运行,则会发生第三种情况:

<head>

<title>My Web Page</title>

<script>

function AddBorder(id) {

...

}

AddBorder(42); // Won't work; the page hasn't completely loaded yet!

</script>

</head>

要解决此问题,请将所有使用AddBorder的代码放入onload事件处理程序中:

// Can only have one of these per page

window.onload = function() {

...

AddBorder(42);

...

}

// Or can have any number of these on a page

function doWhatever() {

...

AddBorder(42);

...

}

if(window.addEventListener) window.addEventListener('load', doWhatever, false);

else window.attachEvent('onload', doWhatever);

以上是 如何将字符串与变量连接在一起? 的全部内容, 来源链接: utcz.com/qa/432485.html

回到顶部