如何连接一个string与variables?

所以我试图从一个string和一个传递的variables(这是一个数字)的string。 我怎么做?

我有这样的东西:

function AddBorder(id){ document.getElementById('horseThumb_'+id).className='hand positionLeft' } 

那么我怎么把这个'horseThumb'和一个id变成一个string呢?

我尝试了所有的各种选项,我也google了,除了学习,我可以像这样插入一个stringvariablesgetElementById("horseThumb_{$id}") < – (没有为我工作,我不知道为什么)我发现没有用处。 所以任何帮助将非常感激。

你的代码是正确的。 也许你的问题是你没有传递一个ID给AddBorder函数,或者带有这个ID的元素不存在。 或者,您可能正在运行您的function之前,通过浏览器的DOM可访问的元素。

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

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

每次调用函数时都会打开popup窗口,其值为iddocument.getElementById的返回值。 如果popupID号undefined ,则不会将parameter passing给该函数。 如果该ID不存在,您将在第一个popup窗口中获得您的(不正确的?)ID号码,但是在第二个popup窗口中会得到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); 

在JavaScript中,“+”运算符用于添加数字或连接string。 如果其中一个操作数是string“+”连接,并且如果它只是数字,则将它们相加。

例:

 1+2+3 == 6 "1"+2+3 == "123" 

这可能发生,因为如果一个string与一个数字连接,java脚本有时会允许空格。 尝试删除空格并创build一个string,然后将其传递到getElementById。

例:

 var str = 'horseThumb_'+id; str = str.replace(/^\s+|\s+$/g,""); function AddBorder(id){ document.getElementById(str).className='hand positionLeft' } 

就像你一样。 我会给你一个小提示这些愚蠢的东西:只需使用浏览器的url框来尝试js语法。 例如,写这个: javascript:alert("test"+5) ,你有你的答案。 在你的代码中的问题可能是这个元素不存在于你的文档…也许它是在一个窗体或东西。 你也可以通过写入url: javascript:alert(document.horseThumb_5)来检查你的错误。

另一种简单的方法来使用jQuery。

样品:

 function add(product_id){ // the code to add the product //updating the div, here I just change the text inside the div. //You can do anything with jquery, like change style, border etc. $("#added_"+product_id).html('the product was added to list'); } 

其中product_id是javascript var和$(“#added _”+ product_id)是一个与product_id连接的div id,来自函数add的var。

最好的祝福!