使用val()时特殊字符的Javascript/jQuery编码

1jr*_*1jr 21 javascript jquery

我有一个问题,特殊字符,例如&,A等以及它们相应的HTML编码的文字像&,ä等等.

  • 当它们在输入字段的值标记中使用时,浏览器会自动对其进行解码,完全没有问题.

  • 使用jQuerys val()函数时,浏览器无法正确评估内容

    $("button").click(function(){
        $("#test").val("&");
    });
    
    Run Code Online (Sandbox Code Playgroud)

任何的想法?

And*_*y E 34

你可以使用这个古老的实体解码技巧:

$("button").click(function(){
    $("#test").val($("<div>").html("&amp;").text());
});
Run Code Online (Sandbox Code Playgroud)

工作演示:http://jsfiddle.net/AndyE/XegGy/

它创建一个临时<div>元素,将其HTML设置为&amp;然后获取文本值&.


Pra*_*ana 5

尝试.html()功能:

$("#test").html("&amp;");
Run Code Online (Sandbox Code Playgroud)