我想问一个基本问题。 我需要找到如何将函数中的字符串值作为参数发送,而不带任何引号。如。 我的html文件看起来像: -
<p id='demo'>
</p>
和js代码将是: -
function Random(data){
document.getElementById("demo").data = "Paragraph changed!";
}
Random(textContent);
但它不起作用! 那么,我可以使用其他技术来完成工作,还是基本上不可能?
答案 0 :(得分:1)
您的代码是正确的,但如果您想使用字符串变量访问对象的属性,则需要这样做:
query = "INSERT INTO empallowance(emp_id_fk,allowance_id_fk) VALUES((SELECT emp_id FROM employee WHERE emp_cnic='" + cnic + "'),@allowance_id_fk)";
答案 1 :(得分:0)
你不能传递字符串&#34;没有引号&#34;,在JS程序中没有引号括起来的文本不是string,而是expression
由于几个原因,您的代码无法以您认为的方式运行。首先,您没有对传入的data
参数执行任何操作。.data
是您使用getElementById
检索的DOM元素的属性。 data
是您要访问的属性的文字名称,它不是对data
参数值的引用。要访问具有您作为data
变量传入的名称的媒体资源,您需要使用bracket notation instead of dot notation来访问它:
function random(data) {
document.getElementById("demo")[data] = "Paragraph changed!";
}
random("textContent");
您会注意到我已将功能名称从Random
更改为random
。这是因为convention in JS to only use capitalized names是constructor functions。
它不起作用的另一个原因是你试图使用&#34;字符串&#34;没有引号。当JavaScript引擎看到random(textContent);
时,它将其解释为调用random
将名为textContent
的变量的值作为第一个参数传递。由于您尚未定义名为textContent
的变量,因此传入的值为undefined
。引用它会将其转换为字符串文字,从而传入您想要的字符串。