javascript – jQuery附加文本是不可见的

前端之家收集整理的这篇文章主要介绍了javascript – jQuery附加文本是不可见的前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试在textarea上面创建几个按钮来插入一些 HTML代码 – 一个非常糟糕的 HTML编辑器.我有几个INPUT元素,我正在使用jQuery设置一个单击处理程序,它将调用jQuery的append()或html()或text()函数.

处理程序触发,它显示调试alert(),但我试图追加的文本没有显示在textarea中.当我检查Firebug中的textarea时,我看到我作为textarea的子项附加的文本 – 但它变暗了,就像元素的样式设置为display:none.但Firebug的CSS检查员没有显示任何显示或可见性属性的变化.

当我将click处理程序设置为’append()’,然后单击多次时,在Firebug中我看到一遍又一遍地添加文本 – 但每个新块仍然是不可见的.如果我在Firebug中选择“编辑HTML”,然后在附加文本旁边键入一些字符,整个文本块 – 由jQuery添加的文本和我在Firebug中添加内容 – 突然出现.

如果我不使用单击处理程序,但使用内联处理程序(如onclick =“javascript:insert(‘bold’);)调用我的追加函数,也会发生这种情况.

任何人都知道为什么没有显示附加文本?

这是相关的代码

HTML:

<input type='button' id='bold' value='B' onclick='javascript:insert("bold")' />

<textarea name='PersonalGreeting' id='PersonalGreeting'>default text</textarea>

Javascript:

function insert( cmd )  {
    switch ( cmd )  {
        case 'bold':
            $('#PersonalGreeting').append('<b>bold text here</b>');
            break;  
    }
}

解决方法

@H_403_34@ 我猜想jQuery正试图将HTML DOM元素附加到textarea.

尝试使用val方法获取并设置textarea的值,如下所示:

$('#PersonalGreeting').val($('#PersonalGreeting').val() + '<b>bold text here</b>');

猜你在找的jQuery相关文章