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>

源代码: https://files.cnblogs.com/redleaf1995/testcustom.rar
posted on 2008-04-11 15:44  红色枫叶  阅读(2183)  评论(0编辑  收藏  举报