我需要向javascript函数传递一些具有特殊字符的数据,如
#228;
完整字符串将如下所示
Bundesland Kärnten
我的javascript函数看起来像这样
function my_fumc(arg){
console.log(arg);
}
如果我按以下方式调用此功能
my_fumc('Bundesland Kärnten')
我进入控制台
Bundesland Kärnten
而不是
Bundesland Kärnten
所以,
Kä
被替换。
我尝试了不同的方法来解决这个问题。 1.将变量作为参数
my_var = 'Bundesland Kärnten';
my_fumc(my_var)
它有效,但我认为这不是一个好的解决方案。我也尝试使用像
这样的encodeURI()函数my_fumc(encodeURI('Bundesland Kärnten'))
结果我得到了:
Bundesland%20K%C3%A4rnten
我准备了一个非常简单的jsfiddle,以显示在将特殊字符传递给函数时javascript的行为。
请帮我找一个解决方案。
答案 0 :(得分:0)
正如Kaiido所指出的,问题更多地与HTML的运作方式有关。
选项可能更像是:
var txt = ["Bundesland Kärnten 01", "Bundesland Kärnten 02"];
function my_func(e){
var idx = (this.id == "t1") ? 0 : 1;
console.log(txt[idx]);
}
window.onload = function() {
document.getElementById("t1").addEventListener("click",my_func,true);
document.getElementById("t2").addEventListener("click",my_func,true);
}
<button id="t1">button 1</button>
<button id="t2">button 2</button>