JS开发引用HTML DOM的location和document对象[通俗易懂]

JS开发引用HTML DOM的location和document对象[通俗易懂]本文主要介绍报表软件FineReport的JavaScript开发中,可以访问并处理的HTMLDOM的location、document两种对象。

大家好,又见面了,我是你们的朋友全栈君。

上一次提到,在报表软件FineReport的JavaScript开发中,可以访问并处理的HTML DOM对象有windows、location、document三种。这次就继续介绍后两种,location和document对象。

Location

Location 对象包含有关当前 URL 的信息。 Location 对象是 Window 对象的一个部分,可通过 window.location 属性来访问。

location对象的常用属性

hash               设置或返回从#开始的URL

host               设置或返回主机名和当前URL的端口号

hostname       设置或返回当前URL的主机名

href                 设置或返回完整的URL

pathname       设置或返回当前URL的路径部分

port                 设置或返回当前URL的端口号

search             设置或返回从?开始的URL(查询部分)

1.location对象的reload()方法

reload()方法用于重新加载当前文档

语法为:

location.reload(false)

如果该方法没有规定参数,或者参数是 false,它就会用 HTTP If-Modified-Since 来检测服务器上的文档是否已改变。如果文档已改变,reload() 会再次下载该文档。如果文档未改变,则该方法将从缓存中装载文档。这与用户单击浏览器的刷新按钮的效果是完全一样的。

如果把该方法的参数设置为 true,那么无论文档的最后修改日期是什么,它都会绕过缓存,从服务器上重新下载该文档。这与用户在单击浏览器的刷新按钮时按住 Shift 健的效果是完全一样。

Document

每个载入浏览器的HTML 文档都会成为Document对象。Document 对象使我们可以从脚本中对HTML页面中的所有元素进行访问。

Document 对象是 Window 对象的一部分,可通过 window.document 属性对其进行访问

1.document对象的常用属性

cookie      设置或返回当前文档有关的所有cookie

title        返回当前文档的标题

URL        返回当前文档的URL

2.document对象的常用方法

2.1 close()方法

close() 方法可关闭一个由document.open 方法打开的输出流,并显示选定的数据。语法:

document.close()

该方法将关闭 open() 方法打开的文档流,并强制地显示出所有缓存的输出内容。

如果使用 write() 方法动态地输出一个文档,必须记住这么做的时候要调用 close() 方法,以确保所有文档内容都能显示。

一旦调用了 close(),就不应该再次调用 write(),因为这会隐式地调用 open() 来擦除当前文档并开始一个新的文档。

2.2 getElementByID()方法

getElementById() 方法可返回对拥有指定 ID的第一个对象的引用。语法:

document.getElementById(id)

JS开发引用HTML DOM的location和document对象[通俗易懂]

参考完整代码:

<html>
<head>
<scripttype="text/javascript">
function getValue()
{
var x=document.getElementById("myHeader")
alert(x.innerHTML)
}
</script>
</head>
<body>
 
<h1 id="myHeader"οnclick="getValue()">这是标题</h1>
<p>点击标题,会提示出它的值。</p>
 
</body>
</html>

2.3 getElementByName()方法

getElementsByName() 方法可返回带有指定名称的对象的集合。

该方法与 getElementById() 方法相似,但是它查询元素的 name 属性,而不是 id 属性。

因为一个文档中的 name 属性可能不唯一(如 HTML 表单中的单选按钮通常具有相同的 name 属性),所有 getElementsByName() 方法返回的是元素的数组,而不是一个元素。

getElementsByTagName() 方法可返回带有指定标签名的对象的集合。

getElementsByTagName() 方法返回元素的顺序是它们在文档中的顺序。

如果把特殊字符串 “*” 传递给 getElementsByTagName() 方法,它将返回文档中所有元素的列表,元素排列的顺序就是它们在文档中的顺序。

传递给 getElementsByTagName() 方法的字符串可以不区分大小写。

 

2.4write()方法

write() 方法可向文档写入 HTML 表达式或JavaScript 代码。可列出多个参数(exp1,exp2,exp3,…) ,它们将按顺序被追加到文档中。

语法:

document.write(exp1,exp2,exp3,….)

通常按照两种方式使用 write() 方法:

一是在使用该方法在文档中输出 HTML,另一种是在调用该方法的的窗口之外的窗口、框架中产生新文档。

第二种情况中,请务必使用 close() 方法来关闭文档。

示例:

JS开发引用HTML DOM的location和document对象[通俗易懂]

参考代码:

<html>
<body>
 
<scripttype="text/javascript">
document.write("Hello World!","Hello You! ","<p style='color:blue;'>HelloWorld!</p>")
</script>
 
</body>
</html>

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/161665.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • rcnn算法详解_rcnn目标检测

    rcnn算法详解_rcnn目标检测这是一篇比较早的ObjectDetection算法,发表在2014年的CVPR,也是R-CNN系列算法的开山之作,网上可以搜到很多相关的博客讲解,本篇博文没有按论文顺序来讲述,而是结合自己经验来看这个算法,希望给初学者一个直观的感受,细节方面不需要太纠结,因为很多部分在后来的算法中都改进了。论文:Richfeaturehierarchiesforaccurateobjectdetect

    2025年10月6日
    3
  • 多个数组合并为一个数组

    多个数组合并为一个数组 constmerge1=arr=&gt;{//合并多个数组constresult=[]for(leti=0;i&lt;arr.length;i++){for(letj=0;j&lt;arr[i].length;j++){…

    2022年6月24日
    31
  • PCL 平面点云B样条曲线拟合

    PCL 平面点云B样条曲线拟合平面点云B样条曲线拟合

    2022年6月18日
    42
  • 约分最简分式(python)

    约分最简分式(python)约分最简分式分数可以表示为分子 分母的形式 编写一个程序 要求用户输入一个分数 然后将其约分为最简分式 最简分式是指分子和分母不具有可以约分的成分了 如 6 12 可以被约分为 1 2 当分子大于分母时 不需要表达为整数又分数的形式 即 11 8 还是 11 8 而当分子分母相等时 仍然表达为 1 1 的分数形式 输入格式 输入在一行中给出一个分数 分子和分母中间以斜杠 分隔 如 12 34 表示 34 分之 12 分子和分母都是自然数 不包含 0 如果不清楚自然数的普世定义的话 提示 在 split

    2025年10月12日
    2
  • linux查看redis命令,linux查看redis版本怎么操作?具体示例

    linux查看redis命令,linux查看redis版本怎么操作?具体示例对于有相关开发经验的朋友来说,linux作为一套免费使用和自由传播的类UNIX操作系统,相信你们肯定是比较亲切的,那么今天我们一起了解的是,怎么用linux查看redis版本号?工具/原料:linux,redis方法/步骤:登录Linux服务器,使用命令:whereisredis查找到redis的安装目录。用cd命令进入该目录。进入该目录下的bin目录。使用ls命令列出该目录下的文件结构,可以发…

    2022年6月7日
    119
  • docker启动报错Error starting daemon: Error initializing network controller:…….Iptables not found

    docker启动报错Error starting daemon: Error initializing network controller:…….Iptables not found

    2021年6月4日
    158

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号