无法在Javascript中连接字符串+变量+字符串
Unable to concanate String+Variable+String in Javascript
我正在尝试让javascript动态地在DOM中查找元素ID。
我目前正在使用这个
var string = "retail";
document.getElementById('markup_'+string+'_percentage').value=z.toFixed(2)+"%";
其中变量"string"的值类似于"retail"
我想这会给出一个串联的字符串"markup_retail_percentage"。
然而,它实际上给出了一条错误消息:
document.getElementById("markup_"+string+"_percentage") is null
我还尝试过使用"."answers"*"运算符。
我的一个html元素
<input type="text" id="markup_retail_percentage" size="5" name="markup_retail_percentage" value="" readonly />
解决方案
//using a new variable name to be passed to function
function percentage(elementid)
{
elementid = "markup_" + elementid;
elementid = elementid + "_percentage";
document.getElementById(elementid).value = "a value";
}
我看到了两种^w三种^w四种可能性:
string
不包含您认为的内容percentage
之前应该有一个下划线- 指定的元素真的不存在!(谢谢@jAndy)
- 确实如此,但是DOM还没有准备好(谢谢@Yoshi)
看起来百分比前面缺少下划线
document.getElementById('markup_'+ string +'percentage')
我想你想要
document.getElementById('markup_'+ string +'_percentage')
如果在Document
完成加载之前运行此代码,则标记将无法完全解析,并且无法使用DOM方法访问具有该id的Element
。
解决方案:
function percentage(elementid)
{
elementid = "markup_" + elementid;
elementid = elementid + "_percentage";
document.getElementById(elementid).value = "a value";
}
我不知道它为什么有效:
-可能是连接问题,不允许使用多个"+"运算符
-是否更改变量名称
但它现在正在发挥作用,所以感谢所有人!
相关文章:
- 从带参数的字符串变量调用函数中的函数
- jquery字符串变量上的每个函数
- 我想将查询字符串变量添加到JSON名称/值对中
- 如何从字符串变量访问对象属性
- 以数组形式访问字符串变量的Javascript
- javascript时间戳插入字符串变量
- 在innerHTML中的getElementById中获取一个带引号的字符串变量
- 如何在Jquery html elemet属性中附加字符串变量
- 如何通过jsp表达式标记将java字符串变量传递给javascript函数
- 传递带有符号“”的字符串变量'"到函数
- 在 javascript 中字符串变量的 “'” 之前添加 ' '
- AngularJS字符串变量到使用sanitize的HTML元素
- 如何使用 JavaScript 比较字符串变量
- 使用 JSON.parse 将字符串(变量)转换为对象,错误意外标记
- 如何将字符串变量从PHP传递到Javascript
- 从包含另一个函数的字符串变量中返回一个函数
- 如何使用参数调用java脚本函数,其中参数来自字符串变量
- 如果通过字符串变量发送,HTML内部的子窗口将显示为文本
- 如何在ReactNative项目中将本地文本文件加载到字符串变量中
- 如何在javascript中用字符串变量替换一段文本