2014-01-11 43 views
-3

我有一個自定義div更改爲輸入元素,此自定義div輸入元素有一個<p>標記裏面有一個默認的佔位符文本。我想檢查它是不是像在一個正常的輸入元素中所需的屬性中做它是空的。檢查在JavaScript中的特定字符串?

提交時我希望JavaScript檢查div元素是否有默認的佔位符或新文本。

我用這個代碼

var data =$('#divtext').html(); 
if(data == '<p>Default place holder</p>') 
{ 
    console.log('empty'); 
} 
else 
{ 
    console.log('notempty'); 
} 

但是不管我怎麼提交的div沒有文字,我得到一個「NotEmpty」響應,但爲什麼呢?

+0

那麼,什麼是在這種情況下'data'等於你的DIV ? – Krease

+2

'$('divtext')'會選擇帶**標籤名稱**「divtext」的元素。 HTML中沒有這樣的元素。詳細瞭解選擇器:http://learn.jquery.com/using-jquery-core/selecting-elements/,http://api.jquery.com/category/selectors/。 –

+0

@FelixKling那是一個打字錯誤 – rksh

回答

1

問題很簡單,你的選擇是錯誤的。你需要通過選擇類:通過

var data = $('.divtext').html(); 

和ID:

var data = $('#divtext').html(); 

此外,你應該注意通過字符串比較的檢查內容。這將會是更好的搜索關鍵字,如單詞「默認」,通過執行以下操作:

var $data = $('#divtext p').html(); //notice I retrieve the html contents of the contained <p>, not the parent <div>. 
if ($data && $data.trim().toLowerCase().indexOf('default') === 0) { 
    console.log('empty'); 
} else { 
    console.log('notempty'); 
} 

這將使它更容易,你的確會匹配你想要什麼。 .trim().toLowerCase()可防止空白和外殼破裂。

+0

耶我的錯誤:)感謝您的額外幫助 – rksh

3

您的選擇器不正確。

你有一個id divtest的元素嗎?如果是這樣你需要:

var data = $("#divtext").html(); 
0

您不包括任何選擇,

如果與類

var data = $('.divtext').html(); 

如果id爲您的DIV

var data = $('#divtext').html(); 
相關問題