<textarea id="photo-42-9" class="comment_box">Write a comment...</textarea>
jQuery代碼不工作,我缺少什麼?
$('#photo-42-9').prepend("<div>blah</div>");
編輯 更正的ID不匹配,仍不能正常工作,雖然
<textarea id="photo-42-9" class="comment_box">Write a comment...</textarea>
jQuery代碼不工作,我缺少什麼?
$('#photo-42-9').prepend("<div>blah</div>");
編輯 更正的ID不匹配,仍不能正常工作,雖然
prepend()
添加指定的標記成由jQuery選擇返回的對象(在這種情況下textarea
)。 A textarea
只能包含文本,不能包含其他子元素;因此你試圖創建無效的html。
如果你想要把<div>
之前的textarea
:
$('<div>blah</div>').insertBefore('#photo-42-9');
如果要在前面加上新文成textarea
:
$('#photo-42-9').val(
function(i,val){
return 'blah ' + val;
});
參考文獻:
@Bob:除了大衛什麼托馬斯說,你的項目有photo-42-9
ID和你的選擇是尋找photo-42-99
修復建議:
$('#photo-42-99').text($('#photo-42-99').text() + "<div>blah</div>");
一個textarea
的內容元素被視爲文本,而不是HTML。它們被解析爲元素的value
屬性。您無法編輯元素的內容:您必須編輯其值。
這樣做的很好,jQuery的上下的方法是用val
和其回調的語法:
$('#photo-42-9').val(function(i, oldVal) {
return "<div>blah</div>" + oldVal; // return the desired value
});
請注意,我還糾正了選擇:你曾在附加9
ID,所以它不會找到該元素。
這是比我的建議好一點。 +1 – Dutchie432
可能是錯字?您選擇的ID是photo-42-99,元素上的id是photo-42-9。 –
''與您在此使用的ID有不同的ID'$('#photo-42-99')prepend(「