使用javascript操縱HTML元素的自定義屬性

HTML元素添加一自定義的屬性非常方便,只須將其加到尖括號中即可,與內置屬性地位相等。

如我們要爲TextBox元素添加屬性idvalue

<input type="text" id="txtInput" name="txtInput" value="自定義文本">
只須在原來的控件後面加上:idvalue=”…”,成爲:
<input type="text" id="txtInput" name="txtInput" value="自定義文本" idvalue="自定義值">

idvalue即可正式成爲txtInput的屬性,地位與其他屬性相等。

如以下例子,在IE6中調試通過:

<html>
<head>
    
<title>自定義屬性</title>
    
<script language="javascript">
            
function showText()
            
{
                alert(document.getElementById(
"txtInput").value);
            }

            
            
function showValue()
            
{
                alert(document.getElementById(
"txtInput").idvalue);
            }

 
    
</script>
</head>
<body>
    
<input type="text" id="txtInput" name="txtInput" value="自定義文本" idvalue="自定義值">
    
<input type="button" id="btnShowText" name="btnShowText" value="顯示文本內容" onclick="showText();">
    
<input type="button" id="btnShowValue" name="btnShowValue" value="顯示文本值" onclick="showValue();">
</body>
</html>

 

idvalueFirefox中卻不能通過,主要是因爲Firefox控制嚴格,所以這些自定義屬性不能認識。經過調試,只能用document.getElementById("txtInput").attributes["idvalue"].nodeValue取得,該方法在IE中也可使用。所以,同時適用IEFirefox的代碼爲:

<html>
<head>
    
<title>自定義屬性</title>
    
<script language="javascript">
            
function showText()
            
...{
                alert(document.getElementById(
"txtInput").value);
            }

            
            
function showValue()
            
{
                alert(document.getElementById(
"txtInput").attributes["idvalue"].nodeValue);
            }

 
    
</script>
</head>
<body>
    
<input type="text" id="txtInput" name="txtInput" value="自定義文本" idvalue="自定義值">
    
<input type="button" id="btnShowText" name="btnShowText" value="顯示文本內容" onclick="showText();">
    
<input type="button" id="btnShowValue" name="btnShowValue" value="顯示文本值" onclick="showValue();">
</body>
</html>

 

源代碼:點此進入下載頁面
博客園下載地址:http://www.cnblogs.com/Files/redleaf1995/testcustom.rar
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章