我们透过前一天所学习的,与DOM的操作方式,开始要使用JS来改变html呈现的样子。
可以与画面做的沟通,比现在学的还要丰富,如制作弹跳视窗、几秒後要呈现什麽图片、如何在点击图片後,改变文字的样式,...等都是透过使用JS来制作的。
这两天的文章,学习如何抓取ID、class都有了基本认识,也知道在要做改变时,该下什麽语法,当时就觉得好喔!我应该可以找个实作来练习,结果发现,哇真是没有想像中的容易啊。
先来学学如何针对内容进行修改吧!
Try it Yourself
按钮,来看看该如何应用。下面就介绍几个常使用的方法~
querySelector
抓到 ID=myyo
.style
加入样式,使背景色彩添加红色 <div id="myyo">
yo!
<a href="#">hello</a>
</div>
<script>
const element = document.querySelector('#myyo');
element.style.background = 'red';
.classList
: 可以用来新增、删除、修改节点上的CSSquerySelector('#myyo')
,选择myyo的ID元素,并给予名为active
的class
active
先制作背景样式<style>
.active {
background: red;
}
</style>
</head>
<body>
<h1>DOM
</h1>
<div>
hello~
</div>
<div id="myyo">
yo!
<a href="#">hello</a>
</div>
<script>
const element = document.querySelector('#myyo');
element.classList.add('active');
</script>
</body>
.active
并且背景色彩变为红色<body>
<h1>DOM
</h1>
<div>
hello~
</div>
<div id="myyo" class="main">
yo!
<a href="#">hello</a>
</div>
<script>
const element = document.querySelector('#myyo');
element.classList.add('active');
element.classList.remove('main');
</script>
</body>
.innerText
: 主要是针对文字内容修改<a>
标签<div id="myyo">
yo!
<a>hello</a>
</div>
<script>
const element = document.querySelector('#myyo > a');
console.log(element.innerText)
//印出标签内的文字
</script>
.innerText
修改<a>
标签里面的文字
element.innerText = 'I am a link'
<div id="myyo">
yo!
<a>hello</a>
</div>
<script>
const element = document.querySelector('#myyo > a');
element.innerText = 'I am a link';
console.log(element.innerText)
//印出标签内的文字
</script>
textContent
与 innerText
很类似,都是用来「取得元素内的文字」。innerText
取得的是被 CSS 调整过样式後渲染的文字;textContent
则是实际取得节点中的文字内容。innerHTML
与 outerHTML
的差别.innerHTML
: 把标签中的东西全部取出#myyo
中的内容,不包含#myyo
这个div的标签 <div id="myyo">
yo!
<a>hello</a>
</div>
<script>
const element = document.querySelector('#myyo ');
console.log(element.innerHTML)
</script>
.outerHTML
: 把该标签中的东西全部取出 <div id="myyo">
yo!
<a>hello</a>
</div>
<script>
const element = document.querySelector('#myyo ');
console.log(element.outerHTML)
</script>
.outerHTML
修改<div id="myyo">
yo!
<a>hello</a>
</div>
<script>
const element = document.querySelector('#myyo');
element.outerHTML = '<h1> the change </h1>'
console.log(element.outerHTML)
</script>
appendChild
与 removeChild
removeChild
removeChild
,选择到要删除的子元素。<div id="myyo">
yo!
<a>hello~</a>
</div>
<script>
//把a标签删去,要先知道他的parent是谁(上一层是div id=myyo)
const element = document.querySelector('#myyo');
element.removeChild(document.querySelector('a'));
</script>
.appendChild
<div id="myyo">
yo!
<a>hello~</a>
</div>
<script>
//把a标签删去,要先知道他的parent是谁(上一层是div id=myyo)
const element = document.querySelector('#myyo');
const item = document.createElement('div'); //建立标签元素
item.innerText = '123' //增加文字在div中
element.appendChild(item);
</script>
以上就是些基础的操作语法拉~在实际专案制作的时候,都会遇到并加以应用!
参考资料:重新认识 JavaScript: Day 13 DOM Node 的建立、删除与修改
<<: Day 10:Python基本介绍03 | List、Tuple
>>: Day-14 那个数字不能说、但那个画面可以再现於新电视上的任天堂64
这是 Roblox 从零开始系列,使用者介面章节的第四个单元,你将学会如何去制作当触发某些条件时才会...
突然发现日历事件被误删?我们曾丢失/误删过 iPhone 的行事历档案。那麽我们如何才能从 iPho...
我们昨天为了接下来的学习,安装了"Unity Hub",今天就要来熟悉一下Uni...
各位看官不好意思,贩子发现其实可以从9/15才开始发废文,原本想说从9/1开始写,但发现底子不够,很...
本系列文之後也会置於个人网站 帐号(User) 基本讯息 接着来看看与帐号有关的设定。 在之前,已...