2013-08-24 44 views
0

這裏是我當前的代碼:jQuery:如何識別ID包含點的元素?

jQuery(document).ready(function($) { 
    $("#edit-name").change(function() { 
    $("#Membership_UserName").val($(this).val()); 
    }); 
    $("#edit-pass-pass1").change(function() { 
    $("#Membership_PassWord").val($(this).val()); 
    }); 
    $("#edit-pass-pass2").change(function() { 
    $("#.Verify_Password").val($(this).val()); 
    }); 
}); 

一切工作正常,除了更新ID爲.Verify_Password元素的值。原因似乎對我來說很明顯(即看到#.彼此相鄰後,jQuery感到困惑),但也許這是錯誤的...

無論如何,該ID無法更改,因爲它被髮送到遠程端點,它需要在這方面進行匹配。

所以我的問題是:有沒有辦法告訴jQuery .Verify_Password是一個ID(而不是一個類)?

+0

http://stackoverflow.com/questions/15361015/jquery-id-selector-not-working-when-have-in-id –

+1

你可以只使用'document.getElementById()'並將其包裝在jQuery中。 –

回答

2

是你可以通過逃避它做到這一點。

$('#\\.Verify_Password'); 

OR

$("[id='.Verify_Password']") 
+0

我懷疑後者會被jQuery優化。 –

1

讀了你應該加倍逃脫它

$("#\\.Verify_Password").val($(this).val()); 

檢查這個jQuery doc更多信息,舉幾個例子 -

// Does not work 
$("#some:id") 

// Works! 
$("#some\\:id") 

// Does not work 
$("#some.id") 

// Works! 
$("#some\\.id") 
1

如果指定的選擇器#那麼它將是一個ID或如果你我通過.選擇一個選擇器,那麼它將是一個CLASS

如果你不知道它是否是一個ID或類,然後嘗試像

$("#edit-pass-pass2").change(function() { 
    $("#\\.Verify_Password").val($(this).val()); 
}); 
相關問題