簡體   English   中英

jQuery前置textarea

[英]jQuery prepending textarea

HTML

<textarea id="photo-42-9" class="comment_box">Write a comment...</textarea>

jQuery代碼不起作用,我缺少什么?

$('#photo-42-9').prepend("<div>blah</div>");

編輯更正了ID不匹配,但仍然無法正常工作

prepend()將指定的標記添加到jQuery選擇器返回的對象中(在本例中為textarea )。 一個textarea只能包含文本,不能包含其他子元素; 因此,您正在嘗試創建無效的html。

如果要將<div>放在textarea 之前

$('<div>blah</div>').insertBefore('#photo-42-9');

如果要在文本textarea新文本,請執行以下操作:

$('#photo-42-9').val(
    function(i,val){
        return 'blah ' + val;
    });

參考文獻:

textarea元素的內容被視為文本,而不是HTML。 它們被解析為元素的value屬性。 您無法編輯元素的內容 :您必須編輯其值。

這樣做的一種不錯的,類似於jQuery的方法是使用val及其回調語法:

$('#photo-42-9').val(function(i, oldVal) {
    return "<div>blah</div>" + oldVal; // return the desired value
});

的jsfiddle

請注意,我還更正了選擇器:您在ID中有另外9 ,因此找不到該元素。

@Bob:除了David Thomas所說的以外,您的商品的ID為photo-42-9而您的選擇器photo-42-9尋找photo-42-99

建議的修復方法:

$('#photo-42-99').text( $('#photo-42-99').text() + "<div>blah</div>" );

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM