我需要這一個尋求一些幫助所以這裏去...JQuery的檢測空p標籤
我創建使用CONTENTEDITABLE textarea的WYSIWYG編輯器。它會自動創建段落,並且還可以添加字幕。
我想做什麼就能做的是按鈕#addStorySubtitle
被點擊時,如果當前選定的p標籤爲空或只包含一個零寬度空間​
,那麼它將被innerDivSubtitle的內容所取代。但是,如果p標籤包含內容,請使用innerDivSubtitle
在下面創建新的塊級元素。
我似乎有麻煩的部分是檢測是p標籤是空的。
謝謝大家!
$('#addStorySubtitle').click(function(e){
var innerDivSubtitle = $('<div class="addStorySubtitleWrap" contenteditable="false"><span class="removeStorySubtitle"></span><textarea name="addstorysubtitle" class="addStorySubtitle autoSize" placeholder="Really good subtitle" contenteditable="true"></textarea></div><p>​<p>');
var sel = window.getSelection();
if ($(sel.anchorNode.parentNode) === "") {
alert('empty'); //just for help
$(sel.anchorNode.parentNode).replaceWith(innerDivSubtitle);
} else {
alert('not empty'); //just for help
$(sel.anchorNode.parentNode).after(innerDivSubtitle);
}
});
UPDATE
感謝您的所有有用的答覆!
事實證明,零寬度空間檢測導致了問題,我不得不使用unicode來檢測它。這裏就是我所做的修復它...
var nodCon = $(sel.anchorNode.parentNode).html();
if (nodCon === "" || nodCon === "\u200b"){
alert('empty');
}
'alert'不是調試器。 –
http://stackoverflow.com/questions/6813227/how-do-i-check-if-an-html-element-is-empty-using-jquery –
'p'標籤不應該是空的。 – Teemu