使用 JQuery 插入 HTML 字符实体

Inserting HTML character entities with JQuery

本文关键字:字符 实体 HTML 插入 JQuery 使用      更新时间:2023-09-26

我正在尝试创建一个工具,允许我将不同的西班牙语字符插入文本框,例如倒置问号。我目前有以下内容,但这返回:

function (e){var n,r,i,o=this[0];{if(arguments.length)return i=x.isFunction(e),this.each(function(n){var o;1===this.nodeType&&(o=i?e.call(this,n,x(this).val()):e,null==o?o="":"number"==typeof o?o+="":x.isArray(o)&&(o=x.map(o,function(e){return null==e?"":e+""})),r=x.valHooks[this.type]||x.valHooks[this.nodeName.toLowerCase()],r&&"set"in r&&r.set(this,o,"value")!==t||(this.value=o))});if(o)return r=x.valHooks[o.type]||x.valHooks[o.nodeName.toLowerCase()],r&&"get"in r&&(n=r.get(o,"value"))!==t?n:(n=o.value,"string"==typeof n?n.replace(V,""):null==n?"":n)}}¿

.HTML

<div class="container">
<textarea id="text"></textarea>
<div id="one">&#191;</div>

.JS

$('document').ready(function() {
$('#one').click(function() {
    $('#text').val($('#text').val + '&#191;');
});
});

关于我为什么收到此输出的任何想法?HTML实体是否在文本框中工作,如果不是,我将如何操作?控制台中不显示任何错误。

JSFiddle

$("#text").val是一个

函数,你应该调用它。

也就是说,jQuery对于这样一个微不足道的任务来说是巨大的矫枉过正:

document.getElementById('one').onclick = function() {
    document.getElementById('text').value += "'u00bf";
}

请注意,'u00bf 是 ¿ - bf以十六进制191的适当 JavaScript 转义序列。

编辑:或者,只需按住Alt并在键盘上键入0191。这将直接在您键入的位置生成¿,而不是在输入的末尾生成¿,这是您的JS所做的。

试试这个。在你的小提琴上工作。

$(function() {
    $('#one').on('click', function() {
        $('#text').val($('#text').val() + "¿");
    });
});

更新:我发布了西班牙语问题符号而不是其ASCII,将$(document).ready更改为较短的$(function(),并在val()后添加了括号。