2011-05-11 77 views
0

實際上,我有兩個跨度,例如date_eformtime_eform如何獲得以word開頭的span id

現在我必須得到這些ID ..並檢查是否span ID以date_開頭,那麼我必須執行一些邏輯。並且如果span ID以time_開頭則執行另一個操作。

<span id='date_eform'></span><span id='time_eform'></span> 

請在這幫我。

回答

0

你需要starts with selector

所以

$.each('span[id^="date_"]',function(){ 
    //your code here 
}); 

$.each('span[id^="time_"]',function(){ 
    //your code here 
}); 
+2

這是最好提供一個代碼示例了。爲了檔案的目的,所以可以在這裏找到答案。 – 2011-05-11 15:58:54

+0

@Jason McCreary正在研究它 – mcgrailm 2011-05-11 16:01:52

0

試試這個:

$("span[id^='date_']").something...  
$("span[id^='time_']").something-else... 
0

這應該這樣做:

$('[id^="date_"]') 
0

的屬性jQuery的語法結尾:

$('span[id$="_eform"]') 

的屬性jQuery的語法開頭:

$('span[id^="_eform"]') 

的屬性jQuery的語法包含:

$('span[id*="_eform"]') 

據我瞭解,你應該需要做的是這樣的:

$('span[id$="_eform"]') 

然後,用each方法,測試,如果jQuery的對象ID datetime

var elements = $('span[id$="_eform"]'); 
elements.each(function() { 
    if(this.id.substring(0,5)=='date') { 
     // handle dates 
    } else if(this.id.substring(0,5)=='time_') { 
     // handle times 
    } 
}); 
0

您可以使用各種方法來實現這一目標,其中大多數問題都列在其他答案中。

但是,如果您只有2個元素,爲什麼不直接使用ID訪問它們?也許你想對他們做一些事情,一旦他們採取了行動?在這種情況下,這裏列出的所有方法都不能使用。

如果您只是想給兩個選擇綁定你可以使用

$('#date_eform, #time_eform')... 

你問什麼沒有什麼太大的意義在你的問題的情況下。如果您添加更多詳細信息,則可能有更好的方法來完成您要求的功能。

0

我建議你爲此任務使用idclass;它會使它更清晰。下面的示例:

HTML:

<span id='date' class='eform'></span> 
<span id='time' class='eform'></span> 

的JavaScript(使用jQuery):

$(".eform").each(function() { 
    switch (this.id) { 
    case "date": 
     // do something 
     break; 

    case "time": 
     // do something 
     break; 

    default: 
     // "id" is not a case 
    } 
}); 

例如這裏:http://fiddle.jshell.net/9hcfx/