[英]Comparing the InnerHTML of an object in jQuery
我可以獲取SharePoint文本框的.html()
,它在DOM中只是顯示為<div>
。 當文本框為空時,該<div>
的InnerHTML僅顯示為<p></p>
。
由於此特定文本框並不總是出現(我根據表單上前一個復選框的選定值來控制其外觀),因此我無法將其設置為必需,因此我通過檢查其是否已填充來動態地進行操作。不保存。 這意味着查看InnerHTML是<p></p>
還是<p>asdf<span id="ms-rterangecursor-start" RteNodeId="1"></span><span id="ms-rterangecursor-end"></span></p>
,其中asdf
是輸入的文本(SharePoint介於兩者之間。
我想我可以做的是像這樣檢查它,用explainField
將<div>
表示為jQuery變量,類似於在http://makandracards.com/makandra/13445-compare-two-jquery-objects上所做的操作為了平等 :
var $divNode = $('div');
var $pNode = $('p');
var $testNode = $divNode.html($pNode);
if (explainField.is($(testNode))) {
// we got <p></p>
return false; // go no further
} else {
return true; // we're ok
}
但是這種比較是行不通的。 如果沒有文本,則應滿足該語句並返回false。 相反,它返回true,並認為沒有文本我們就會有文本。 我如何進行比較,如果找到<p></p>
,則返回false?
因此,嘗試以下操作比您嘗試的操作要容易一些。
var $divNode = $('div');
var html = $divNode.html();
if ( $(html).children().length > 0 ) {
alert ("not empty");
} else {
alert ("empty");
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.