1. 程式人生 > >js使用動態新增的方式傳函式引數不能呼叫函式的問題

js使用動態新增的方式傳函式引數不能呼叫函式的問題

問題:

使用jquery動態的新增頁面元素,但是傳引數的時候不能傳中文,傳中文的時候函式調用不了出現錯誤.

原因:

網上查了一下,感覺是沒有加引號導致的

自己的情況:

但是自己是加了引號的,自己用的是在雙引號裡面加單引號. 舉個例子:

 $("#body").append( " <a href='javascript:woid(0)' onclick= \" jsfunction(" + 1 + "," + "\' " + datachinese  + " \' ))" ;
 注意  \" 是因為在 " " 裡面使用所以加上 保證是在這裡面使用

出現的問題就是不能進行呼叫函式,會出錯 ,比如 datachinese的值為 “中文” ,就會報 中文 is undefined之類的錯誤.

解決

建議最外層使用單引號,裡面可以用雙引號, 在中文的兩側用 ’ \ ’ ’ , 外面的兩個單引號表示新增進來一個字元,‘表示將單引號進行轉義
$("#body").append( ’ <a href=“javascript:woid(0)” onclick=" jsfunction( ’ + 1 +’\ ,’ + ’ \ ’ ‘+ datachinese + ’ \ ’ ))’ ;