2013-07-25 23 views
0

我有一個id屬性的按鈕,我想讓它的值動態改變。我通過我定義的'setId'和'getId'函數使用了兩個javascript函數。事實上,設置當前按鈕的id屬性(請參閱下面的'setId'函數)必須與作爲javascript代碼的參數給定的屬性相同(請參閱下面的'toggle'中的'getId'函數的調用)。如何動態更改XSL文件中HTML按鈕元素的ID?

下面的代碼片段是一個靜態的html行爲的一個例子,

<td align="right">KO<input id="1" type="button" 
value="[+] Expand" onclick="toggle('tb','1');"/></td> 

爲了使它的動態,我用「SETID」及以下

<head> 
.... 
<script type="text/javascript"> 

var setId = (function() { 
return function(element) { 
if (!element.id) { 
    element.id+ = 1; 
    } 
    }; 
}()); 

var getId = (function() { 
return function(element) { 
return element.id; 
}; 
}()); 

</script> 
</head> 

「的getId」功能,使之變我在下面稱它們爲'body'html元素

<td align="right">KO<input id="setId(this);" type="button" 
value="[+] Expand" onclick="toggle('tb',getId(this));"/></td> 

儘管如此該按鈕的id('輸入')不會按預期更改。事實上,任何按鈕上的點擊事件總是指向第一個按鈕,而我希望它指向當前。請如何更改JavaScript功能以實現我想要的功能?

在此先感謝

回答

0
與Javascript代碼 toggle('tb','getId(this);');你調用一個名爲 toogle字面上給出兩個字符串參數功能

嘛,一個是字符串tb,其他字符串getId(this);。如果你想調用的函數getId,並將其結果傳遞給函數toggle使用

onclick="toggle('tb',getId(this));" 
+0

現在調用js函數,但按鈕上的所有單擊操作始終引用第一個按鈕。請問我怎麼能改變我的js使它成爲可能?謝謝 – new

0

創建的XSL轉換的ID,或者你需要寫一個javascript,即刪除舊的按鈕,並用新的新建按鈕ID。

我不知道任何其他方式來改變html元素的id的dynamicaly。

+0

這是一個相當有點,我正在尋找。謝謝 – new