我.append
由一些jQuery创建的字符串,该字符串生成HTML标记,当我将其插入到firebug中显示的文本区域时,但不会显示在实际的文本区域中。我假设它正在这样做,因为它将其读作HTML而不是文本。
这是一个例子。
var classesHtmlString = jQuery(".generator-attr:checked").map(function () {
var $this = jQuery(this);
return $this.val();
}).get().join(" ");
var htmlString = '<div class="'+classesHtmlString+'">';
jQuery('#generator-html-result').val(htmlString);
var shortcodeHTML = jQuery('#generator-html-result').val();
然后我.append
到我想要的文本区域,如果有必要,我会提供更多,但我认为将HTML添加到文本区域不允许它将其作为文本读取。我用谷歌搜索了但找不到多少。
答案 0 :(得分:0)
.val
来输入内容。不要附加它,只需将其写入textarea,因为我很确定你不想附加它,你想要写内容。改变这个:
jQuery('#generator-html-result').val(htmlString);
对此:
jQuery('#generator-html-result').text(htmlString).html();
如果你想要变量shortcodeHTML
var shortcodeHTML = jQuery('#generator-html-result').text(htmlString).html();
答案 1 :(得分:0)
Jquery在内部使用了elements属性,所以如果我们这样做,那么textarea是这样的:
<textarea id="foo">HTML TEST</textarea>
和普通输入(文本框,复选框等)如:
<input type="text" id="bar" value="HTML TEST AGAIN"/>
因此,如果我们在输入时.val()
,它将完美地工作,因为输入元素中包含value
属性,而textarea的语法类似于'div
,{{1} },等等,所以要填充/提取textarea值(根据你的感知),它应该出现在span
因为jquery有<textarea></textarea>
个方法。希望您清楚何时我们应该使用'.html() & .text()'
方法。