2012-03-11 68 views
1

我試圖檢查自動生成的跨度class=""內容,我將用它作爲條件來確定我是否會顯示一條消息給用戶,或者不是檢查自動生成的跨度類標籤使用jQuery

這裏跨度

<span id="sprytextfield1" class="textfieldInvalidFormatState"> 

什麼我想在這裏把一個Div稱爲emailid這樣我就可以使用下面的

if ($('email').html('<span id="sprytextfield1" class="textfieldInvalidFormatState">')) 
{ 

alert ("error"); 
} 

但這不起作用,因爲如果把跨度放在我的div email這將停止JavaScript並導致錯誤,因爲對於某些數據條件,我無法在跨度結束時關閉div。

是否有任何方法來獲得跨度class沒有把所有的跨度內的div?

回答

2

檢查:http://jsfiddle.net/pratik136/YY5RR/

這將讓你獲得類的所有跨越的。

+0

謝謝,它似乎是我需要但我不明白的腳本,我很抱歉,仍然是新的JQuery和一般編程,你能解釋一下代碼嗎?以及我只想將'class'變成變量? – 2012-03-11 22:16:54

+0

好吧,我明白了:) – 2012-03-11 22:18:51

+0

太棒了!如果您需要更多信息,只需發表評論即可。 – bPratik 2012-03-11 22:19:50

1

如果你想跨度附加到DIV,仍然可以得到一個參考吧(這樣你就可以進一步修改),我會建議做這樣的:

$("#email").html(""); // optional: clear email 
var mySpan = $('<span id="sprytextfield1" class="textfieldInvalidFormatState"/>').appendTo($('#email')); 

然後你就可以添加更多東西跨度,如文本或其他元素:

mySpan.text("some text"); 
mySpan.append('<a>some link</a>'); 

你提到的跨度後,您不能關閉格,我明白,你想更多的元素添加到它,是正確的?只是追加(或前置)他們,創造了跨度後:

$("#email").append(someElement); // Will appear in the end, after the span 
$("#email").prepend(someElement); // Will appear in the beginning, before the span 

更新:重讀你的問題,這不是我清楚你要檢查什麼。跨度是否已經在你的文檔中,你只是想看看它是否有一個特定的類(你已經知道)?如果是這樣的情況下,獲得元素(你有它的ID),並在其上使用hasClass

if ($("#sprytextfield1").hasClass("textfieldInvalidFormatState")) { 
    alert("error"); 
} 
+0

謝謝,我會嘗試一下,並回復 – 2012-03-11 22:13:48

+0

感謝您的幫助和您的時間:) – 2012-03-11 22:41:57