本文详细解析如何使用原生JavaScript和jQuery实现HTML元素的隐藏、显示、删除与添加。涵盖visibility与display属性的区别,hide/show/toggle方法的使用,以及remove、empty、append等核心API的具体应用场景与代码示例,帮助开发者高效处理页面动态交互。
一、HTML元素的隐藏与显示
方法一:通过修改元素的style属性中的visibility值来实现
document.getElementById("EleId").style.visibility="hidden";
document.getElementById("EleId").style.visibility="visible";需要注意的是,采用上述方式隐藏元素后,该元素在页面中仍占据原有空间,导致出现空白区域。
方法二:通过修改元素style属性中的display值来实现
document.getElementById("EleId").style.display="none"; //隐藏
document.getElementById("EleId").style.display="inline";//显示方法三:
在jQuery库中,可以使用hide()方法来隐藏指定的元素。
选择器可以指定id、标签名或class。
示例:隐藏a标签
$("a").hide() //隐藏
$("a").show() //显示方法四:使用jQuery提供的toggle()方法
调用方式与前述方法类似,即$(selector).toggle();
方法五:通过设置元素的disabled属性为true来禁用按钮,例如$("#buyButton").attr("disabled", true);
二、HTML元素的删除
方法一
首先通过document.getElementById()获取目标元素节点,随后调用object.parentNode.removeChild(object)方法将其从父节点中移除。
注:推荐优先使用此方法。
var iframe = document.getElementById('jiazai')
iframe.src = 'about:blank';
iframe.parentNode.removeChild(iframe)方法二:直接调用jQuery库提供的remove()或empty()方法。
$("#div1").remove();
$("#div1").empty();注意区分:remove()会删除选中元素及其所有子元素,而empty()仅删除选中元素的子元素。
方法三:对要删除的元素进行过滤
jQuery的remove()方法支持接收一个参数,用于指定过滤条件。
该参数遵循jQuery选择器的语法格式。
以下示例演示如何删除所有class为“italic”的p元素:
代码示例$("p").remove(".italic");
具体样例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js">
</script>
<script>
$(document).ready(function(){
$("button").click(function(){
$("p").remove(".italic");
});
});
</script>
</head>
<body>
<p>这是一个段落。</p>
<p class="italic"><i>这是另外一个段落。</i></p>
<p class="italic"><i>这是另外一个段落。</i></p>
<button>移除所有 class="italic" 的 p 元素。</button>
</body>
</html>
三、jQuery添加元素
jQuery的append()方法用于在选中元素的末尾插入内容(内容位于元素内部)。
- append()——在选中元素的末尾插入内容
- prepend()——在选中元素的开头插入内容
- after()——在选中元素之后插入内容
- before()——在选中元素之前插入内容
示例:
$("p").append("追加文本");
$("p").prepend("在开头追加文本");
$("img").after("在后面添加文本");
$("img").before("在前面添加文本");append()、prepend()、after()和before()方法均支持接收无限数量的新元素作为参数。新元素可以通过字符串形式的文本/HTML、jQuery构造函数或JavaScript/DOM对象来创建。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
<meta charset="utf-8">
<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js">
</script>
<script>
function appendText(){
var txt1="<p>文本-1。</p>"; // 使用 HTML 标签创建文本
var txt2=$("<p></p>").text("文本-2。"); // 使用 jQuery 创建文本
var txt3=document.createElement("p");
txt3.innerHTML="文本-3。"; // 使用 DOM 创建文本 text with DOM
$("body").append(txt1,txt2,txt3); // 追加新元素
}
</script>
</head>
<body>
<p>这是一个段落。</p>
<button onclick="appendText()">追加文本</button>
</body>
</html><!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js">
</script>
<script>
function afterText(){
var txt1="<b>I </b>"; // 使用 HTML 创建元素
var txt2=$("<i></i>").text("love "); // 使用 jQuery 创建元素
var txt3=document.createElement("big"); // 使用 DOM 创建元素
txt3.innerHTML="jQuery!";
$("img").after(txt1,txt2,txt3); // 在图片后添加文本
}
</script>
</head>
<body>
<img src="/images/logo2.png" >
<br><br>
<button onclick="afterText()">之后插入</button>
</body>
</html>总结
至此,关于使用JS实现HTML标签、文本的隐藏、显示、删除及添加的介绍已结束。如需了解更多相关JS实现HTML标签隐藏与显示的内容,请查阅本站历史文章或继续浏览后续相关文章,感谢大家的支持!