一聚教程网:一个值得你收藏的教程网站

热门教程

HTMLElement 对象的方法实例

时间:2022-06-25 16:48:40 编辑:袖梨 来源:一聚教程网

htmlelement 对象的方法实例

htmlelement 对象继承了 node 和 element 对象的标准方法。某些类型的元素实现了特定于标记的方法,w3school 在 html dom 参考手册的各标记参考页中提供了这些方法的信息。

大部分现代浏览器也都实现了如下的非标准方法:

方法 描述
scrollintoview() 滚动文档。使该元素出现在窗口的顶部或底部。
htmlelement 对象的事件句柄
响应鼠标和键盘事件的所有 html 元素都可以触发这里列出的事件句柄。某些元素,如链接和按钮,当这些事件发生的时候执行默认操作。对于像这样的元素,更多细节可以在具体元素的参考页中找到。

请参阅 html 事件属性参考手册,了解更多有关 html 事件句柄的知识。
如何获得有关 htmlelement 对象更详细的信息
在 w3school 的 html dom 参考手册中,我们为 html 标记对应的 dom 对象制作了专门的参考页:

 

var obj = {nodetype:1};
function ishtmlelement(obj){
    if(obj.nodetype){
        return obj.nodetype==1;
    }
}


ishtmlelement(obj);//true
ishtmlelement(obj)返回true,但obj明显不是一个html节点元素

function ishtmlelement(obj){
    var d = document.createelement("div");
    try{
        d.appendchild(obj.clonenode(true));
        return obj.nodetype==1?true:false;
    }catch(e){
        return false;
    }
}
var obj1 = {nodetype:1};
var obj2 = document.createtextnode("hello");
var obj2 = document.createelement("p");
ishtmlelement(obj1);//false
ishtmlelement(obj2);//false
ishtmlelement(obj3);//true


window和document还要特别处理下

function ishtmlcontrol(obj) {

 var d = document.createelement("div");
 try{
  d.appendchild(obj.clonenode(true));
  return obj.nodetype==1 ? true : false;
 }catch(e){
  return obj==window || obj==document;
 }


nodetype==1判断元素是否是一个hmtlelement元素。页面上的元素都是节点(node),有元素节点(element node)、属性节点(attribute node)、文本节点(text node)等。w3c nodetype

const unsigned short element_node = 1;
const unsigned short attribute_node = 2;
const unsigned short text_node = 3;
const unsigned short cdata_section_node = 4;
const unsigned short entity_reference_node = 5;
const unsigned short entity_node = 6;
const unsigned short processing_instruction_node = 7;
const unsigned short comment_node = 8;
const unsigned short document_node = 9;
const unsigned short document_type_node = 10;
const unsigned short document_fragment_node = 11;
const unsigned short notation_node = 12;


html 文档中的每个元素都有和元素的 html 属性对应的属性。这里列出了所有 html 标记都支持的属性。其他的属性,都特定于某种具体的 html 标记。htmlelement 对象继承了 node 和 element 对象的标准属性,也实现了下面所描述的几个非标准属性:


classname
规定元素的 class 属性。注意:该属性名不是 "class",因为 "class" 是 网页特效 中的保留字。

类型:string。状态:可写。

currentstyle
这一特定于 ie 的属性应用于元素的所有 css教程 属性的级联组。它是 window.getcomputedstyle() 的仅用于 ie 的替代。

类型:string。状态:可写。

dir
规定元素的 dir 属性,声明了文档文本的方向。

类型:string。状态:可写。

id
规定元素的 id 属性。在一个文档中,没有两个元素具有相同的 id 值。

类型:string。状态:可写。

innerhtml
规定了元素所包含的字符串,不包括元素自身的开始标记和结束标记。查询这一属性会将元素的内容作为一个 html 文本串返回。将这个属性设置为一个 html 文本串,则可以用 html 的解析表示来替换元素的内容。在文档载入的时候,不能设置这个属性。这个一个源自于 ie4 的非标准属性,已经得到所有现代浏览器的支持。

类型:string。状态:可写。

lang
规定元素的 lang 属性,声明了元素内容的语言代码。

类型:string。状态:可写。

offsetheight, offsetwidth
返回元素的高度和宽度,以像素为单位。这是非标准的但却得到很好支持的属性。

类型:int。状态:只读。

offsetleft
返回当前元素的左边界到它的包含元素的左边界的偏移量,以像素为单位。

类型:int。状态:只读。

offsettop
返回当前元素的上边界到它的包含元素的上边界的偏移量,以像素为单位。

类型:int。状态:只读。

offsetparent
返回对最近的动态定位的包含元素的引用,所有的偏移量都根据该元素来决定。如果元素的 style.display 设置为 none,则该属性返回 null。这是非标准的但却得到很好支持的属性。

类型:node。状态:只读。

scrollheight, scrollwidth
返回元素的完整的高度和宽度,以像素为单位。当一个元素拥有滚动条时(比如由于 css 的 overflow 属性),这些属性和 offsetheight 与 offsetwidth 不同,offsetheight 和 offsetwidth 只是报告元素的可见部分的大小。这是非标准的但却得到很好支持的属性。

类型:int。状态:只读。

scrolltop, scrollleft
返回已经滚动到元素的左边界或上边界的像素数。只有在元素有滚动条的时候,例如,元素的 css overflow 属性设置为 auto 的时候,这些像素才有用。这些属性也只在文档的 或 标记上定义(这和浏览器有关),并且一起来制定滚动文档的位置。注意,这些属性并不会指定一个