2013-05-02 49 views
2

我有一個像如何使用屬性

<input id="inp__str_Object__17" type="checkbox" name="inp__str_Object__17" sym_name="Cust_attr_1" value="400024" > 

複選框使用sym_name =「Cust_attr_1」使用JavaScript我如何能得到ID(inp__str_Object__17)

document.getAttribute("SYM_NAME")得到一個輸入型的ID

+2

看看這裏http://stackoverflow.com/questions/6267816/getting-element-by-a-custom-attribute-using-javascript – 2013-05-02 09:12:09

+0

的http:// stackoverflow.com/questions/9496427/how-to-get-elements-by-attribute-selector-w-native-javascript-wo-queryselector – tbleckert 2013-05-02 09:13:04

回答

0

我不確定本地解決方案是否存在通過自定義屬性檢索元素。你可以做一些這方面的工作的自己,如:

var elem = document.getElementsByTagName("input"); 
var id = ""; 
for(var x = 0; x < elem.length; x++){ 
    if(elem[x].getAttribute("sym_name")){ 
     id = elem[x].id 
    } 
} 

工作實例http://jsfiddle.net/WvaYx/1/

或者你可以通過name屬性拉:

var elem = document.getElementsByName("inp__str_Object__17"); 
var id = elem[0].id; 

工作實例http://jsfiddle.net/WvaYx/

+0

我想通過屬性名稱id即sym_name – Warrior 2013-05-02 09:17:34

+0

@Warrior更新但我不確定如果你會喜歡答案。我不認爲有一種本地方式可以通過自定義屬性來檢索元素。 – 2013-05-02 09:22:43

+0

我怎樣才能循環通過iput類型的ID開始與'inp__strObjectType__' – Warrior 2013-05-02 10:02:04

1
var myInputs = document.getElementsByTagName('input'); 
for(var index in myInputs) { 
    var myInput = myInputs[index].getAttribute('syn_name'); 
    if (myInput === 'some value') 
     return myInputs[index].id; 
} 

希望這是有益的

+0

你應該把這個代碼轉換成'函數'..或分配id'var id;'和'break;'條件匹配。其他智慧拋出錯誤'語法錯誤:返回不在函數中' – rab 2013-05-02 09:39:13

+0

是的,你是對的,我忘了用函數包裝這個代碼:) – Pavel 2013-05-02 09:41:41