2013-10-10 38 views
1

在if語句條件中處理元素的id的正確方法是什麼?使用id作爲if條件

if($('id').val() == Reset) 
var Submit_Status = $("#Reset").val(); 
else 
var Submit_Status = $("#Nb_var97").val(); 

感謝, 尼爾P.

+1

你能發佈相關的HTML嗎? –

+1

與# –

+0

的普通選擇器相同我嘗試了以下操作,但這不起作用? $(function(){//打開函數 $(「input」)。click(function(){//打開選擇 if($(「input」)。attr(「id」)==「Reset」 ) var Submit_Status = $(「#Reset」)。val(); else var Submit_Status = $(「#Nb_var97」)。val(); –

回答

1
if($('someSelector').attr('id') == 'Reset') 
var Submit_Status = $("#Reset").val(); 
else 
var Submit_Status = $("#Nb_var97").val(); 
+0

一個元素會有id =「element」和一個單獨的id屬性? –

+0

不,不會,我已更新答案 – Hacknightly

+0

請參閱我對其他問題的評論。此解決方案也只會檢查集合中第一個元素的ID。 –

1

因爲我看不到你的HTML,我要發佈一個簡單的例子:

<div id="myID"></div> 

if($("div").attr("id") == "myID") 
{ 
    //do stuff 
} 
+0

根據您的示例,這隻會返回$(「div」)集合中第一個元素的ID。如果你有兩個不同ID的div,你不會檢查除第一個以外的任何div。 –

+0

那麼,ID的意圖是全球獨一無二的,所以它不應該是一個問題,假設使用公認的約定。 –

0
if ($('div').attr('id') == 'Reset') { 
    // do something 
} 
0

如果您試圖檢查ID屬性的值,然後使用attr方法得到它。

例如,如果你通過所有與類foo元素的循環,並要檢查的ID bar你可以在你的循環做到這一點:

... 
var id = item.attr("id"); 

if(id == 'bar') 
{ 

} 

下面是一個例子,所有的div上在頁面中選擇,每一個都有它的ID在依次檢查:

var divs = $('div'); 

divs.each(function(index, value) { 
    var id = $(value).attr('id'); 

    if(id == 'foo') 
    { 
     // Do foo work 
    } 
    else if(id == 'bar') 
    { 
     // Do bar work 
    } 

工作例如:http://jsfiddle.net/gZHMD/1/

0

使用短形式(ternary/conditional operator)代替if

// element could be any html element but inputs have val and div, spans and suchlike don't have val 
var Submit_Status = $('element').attr('id') == 'Reset' ? $("#Reset").val() : $("#Nb_var97").val(); 

此外,如果有多個元素,則你必須選擇特定的一個,an example here