Javascript 仅当不包含文本JQuery时追加div
我正在创建一个社交媒体网站,并试图在用户单击状态时显示一个评论文本区域 以下是我到目前为止的情况:Javascript 仅当不包含文本JQuery时追加div,javascript,jquery,html,Javascript,Jquery,Html,我正在创建一个社交媒体网站,并试图在用户单击状态时显示一个评论文本区域 以下是我到目前为止的情况: $(".status").click(function (){ //Check if status div they clicked on contains a textarea already if($(this).closest('div').innerHTML.indexOf("<textarea name='status_body'>") == -1) {
$(".status").click(function (){
//Check if status div they clicked on contains a textarea already
if($(this).closest('div').innerHTML.indexOf("<textarea name='status_body'>") == -1) {
//Append with textarea
var textarea = "<textarea name='status_body'></textarea>";
$(this).closest('div').append(textarea);
}
});
在我输入if语句之前,这是有效的。当然,如果没有if语句,每次用户单击时都会添加一个textarea。我只想在没有区域的情况下显示文本区域
我尝试过但失败的另一种方法是:
if(!$(this).closest('div:contains("<textarea")').length > 0)
你很接近了,只要用.length检查是否存在
你很接近了,只要用.length检查是否存在
不要将其作为文本搜索。您应该威胁textarea,因为它是DOM元素
if($(this).closest('div').find("textarea[name='status_body']").length == 0) {
/*...*/
}
不要将其作为文本搜索。您应该威胁textarea,因为它是DOM元素
if($(this).closest('div').find("textarea[name='status_body']").length == 0) {
/*...*/
}
你确定这种使用.closestdiv textarea的方法吗?应该是。最近的“div”。我想可以找到“textarea”。非常感谢,非常感谢!你确定这种使用.closestdiv textarea的方法吗?应该是。最近的“div”。我想可以找到“textarea”。非常感谢,非常感谢!