簡體   English   中英

比較jQuery中對象的InnerHTML

[英]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.

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