前面的文章探讨了使用javascript来操纵HTML元素的自定义属性,那么在HTML页面中,除了系统支持的HTML元素外,是否可以建立自定义的HTML元素呢?答案是可以的。

自定义的HTML元素与系统自身的HTML元素地位相同,都可以用document.getElementById来获得,区别在于,自定义的HTML元素都是不可见的,类似于隐藏控件。

使用自定义HTML元素,我们就可以建立多种隐藏控件,而不一定拘泥于只能建立inputhidden元素了;另外,还可以用于某些特定方面的需求!

如在HTML页面中直接建立:

象创建系统自带的HTML元素那样添加:

var cy = document.createElement("YYY");
cy.id 
= "customControl_YYY";
cy.value 
= "自定义元素yyy";
cy.checked 
= true;
document.body.appendChild(cy);

2)用javascript来操作:

alert(document.getElementById("customControl_YYY").value);
alert(document.getElementById("customControl_YYY").checked);

在这里,Firefox支持直接取值,而不须用attributes属性集合。

代码如下:

<html>
    
<head>
        
<title>用javascript定义和操作自定义HTML元素</title>
        
<script language="javascript">
            
function getXXXValue()
            
{
                
//alert(document.getElementById("customControl_XXX").value);                                                //IE中可以使用
                alert(document.getElementById("customControl_XXX").attributes["value"].value);            //IE Firefox中均可使用
            }

            
            
//IE Firefox中均可使用
            function createYYYControl()
            
{
                
var cy = document.createElement("YYY");
                cy.id 
= "customControl_YYY";
                cy.value 
= "自定义元素yyy";
                cy.checked 
= true;
                document.body.appendChild(cy);
                
                alert(document.getElementById(
"customControl_YYY").value);
                alert(document.getElementById(
"customControl_YYY").checked);
            }

        
</script>
    
</head>
    
<body>
        
<xxx id="customControl_XXX" value="自定义元素xxx"></xxx>
        
<input type="button" value="取得xxx元素的值" onclick="getXXXValue();">
        
<input type="button" value="生成yyy元素并取得该元素的值" onclick="createYYYControl();">
    
</body>
</html>

源代码
:https://files.cnblogs.com/redleaf1995/CustomHtmlControl.rar
posted on 2008-04-17 11:28  红色枫叶  阅读(1569)  评论(3编辑  收藏  举报