JavaScript语法二
目录
window对象
-
window对象是BOM的核心,window对象指当前的浏览器窗口
-
所有JavaScript全局对象、函数以及变量均自动成为window对象的成员
-
全局变量是window对象的属性
-
全局函数是window对象的方法
-
甚至HTML DOM的document也是window对象的属性之一
-
window.innerHeight :浏览器窗口的内部高度
-
window.innerWidth :浏览器窗口的内部宽度
-
打开一个window窗口:windows.open()
参数 描述 URL 一个可选的字符串,声明了要在新窗口中显示的文档的 URL。如果省略了这个参数,或者它的值是空字符串,那么新窗口就不会显示任何文档。 name 一个可选的字符串,该字符串是一个由逗号分隔的特征列表,其中包括数字、字母和下划线,该字符声明了新窗口的名称。如果该参数指定了一个已经存在的窗口,那么 open() 方法就不再创建一个新窗口,而只是返回对指定窗口的引用。在这种情况下,features 将被忽略。 features 一个可选的字符串,声明了新窗口要显示的标准浏览器的特征。如果省略该参数,新窗口将具有所有标准特征。在窗口特征这个表格中,我们对该字符串的格式进行了详细的说明。 replace 一个可选的布尔值。规定了装载到窗口的 URL 是在窗口的浏览历史中创建一个新条目,还是替换浏览历史中的当前条目。支持下面的值:
true - URL 替换浏览历史中的当前条目。
false - URL 在浏览历史中创建新的条目。 -
关闭一个window窗口:windows.close()
<html> <head> <script type="text/javascript"> function closeWin() { myWindow.close() } </script> </head> <body> <script type="text/javascript"> myWindow = window.open('', '', 'width=200,height=100') myWindow.document.write("This is 'myWindow'") </script> <input type="button" value="Close 'myWindow'" onclick="closeWin()" /> </body> </html>
当然了,如果想要通过打开一个窗口的方式来打开一个链接URL,是不推荐的,因为有些浏览器为了安全起见,可能会阻止windows.open()打开一个URL。
js对象控制HTML元素
想要要控制元素,首先就要先得到,或者说找到该元素,通过以下不同的几个不同的方法,可以得到或者控制HTML元素。
方法名 | 方法描述 |
---|---|
document.getElementsByTagName() | 返回带有指定标签名的对象的集合。 |
document.getElementById() | 返回对拥有指定 ID 的第一个对象的引用。 |
document.getElementsByName() | 返回带有指定名称的对象的集合。 |
node_name.getAttribute() | 返回指定属性名的属性值。 |
node_name.setAttribute() | 添加指定的属性,并为其赋指定的值。 如果这个指定的属性已存在,则仅设置/更改值。 |
node_name.childNodes | 返回节点的子节点集合,以 NodeList 对象。 |
node_name.parentNode | 以 Node 对象的形式返回指定节点的父节点 |
document.createElement() | 通过指定名称创建一个元素 |
node_name.removeChild() | 删除当前节点下的特定子节点 |
<body>
<p name="p_name">1</p>
<p name="p_name">2</p>
<p name="p_name">3</p>
<p name="p_name">4</p>
<a id="a_id" href="https://yalexin.gitee.io/">博客</a>
<div id="div">
<p name="p_name" id="p_5">5</p>
<p name="p_name">6</p>
</div>
<script>
function demo() {
var p_count = document.getElementsByTagName("p");
var n_count = document.getElementsByName("p_name");
// print:HTMLCollection(4)
console.log(p_count);
//通过下标访问集合中的元素
console.log(n_count[1].innerHTML);
// 通过id得到元素
var a = document.getElementById("a_id");
// 查找元素的属性
console.log(a.getAttribute("href"));
// 设置新的属性值
a.setAttribute("href", "https://yalexin.gitee.io/guestbook/");
var div = document.getElementById("div");
// 得到子节点集合
var child_list = div.childNodes;
var p = document.getElementById("p_5");
//得到父节点(只有一个)
var parent = p.parentNode;
var body = document.body;
//创建一个输入框节点
var input = document.createElement("input");
input.type = "text";
input.placeholder = "这是通过createElement方法创建的";
// 将input添加到body中(在末尾)
body.appendChild(input);
var p_insert = document.createElement("p");
p_insert.innerHTML = "这是通过insert方法插入的";
// 将p_insert节点插入到p节点之前(id = p_5)
div.insertBefore(p_insert, p);
// 删除div的子节点p(id = p_5)
div.removeChild(p);
}
demo();
</script>
</body>
本文由「黄阿信」创作,创作不易,请多支持。
如果您觉得本文写得不错,那就点一下「赞赏」请我喝杯咖啡~
商业转载请联系作者获得授权,非商业转载请附上原文出处及本链接。
关注公众号,获取最新动态!
历史评论
开始评论