html文档加载完之后再运行jQuery代码:
第一种方法:
$(document).ready( function() { // jQuery代码 } )
$美元符号,用于访问jQuery库; document,文档对象; ready事件,定义文档就绪事件
第二种简便方法:
$( function() { //jQuery代码 } )
jQuery选择(查找)html元素,并对其进行修改:
$('selector').action()
selector为选择器(元素选择器,类选择器,id选择器....),用于查找html元素;action()表示要执行的动作( hide(), show(), html() 等 )
$("p").hide() // 隐藏所有<p>元素 元素选择器$(".demo").hide() // 隐藏所有 class="demo" 元素 类选择器$("#demo").hide() // 隐藏 id="demo" 的元素 id选择器$('#修改').html('id为修改的元素内容被修改') //修改id为demo的元素的html内容
<!DOCTYPE html><html><head><meta charset="utf-8"><script src="https://code.jquery.com/jquery-3.4.1.js"></script> </head><body><p>我是p元素的内容</p><div class="demo">div1</div><div class="demo">div2</div><div>不被隐藏的div</div><div id="demo">id为demo的div元素被隐藏</div><div id='修改'>原来内容</div> <script> $("p").hide() // 隐藏所有<p>元素 $(".demo").hide() // 隐藏所有 class="demo" 元素 $("#demo").hide() // 隐藏 id="demo" 的元素 $('#修改').html('id为修改的元素内容被修改') //支持中文id </script></body></html>
执行后的结果为:
选择器的其他语法:
$("div.menu") // 选取类为class="menu"的<div>元素$("p:first") // 第一个<p>元素$("h1, p") // 所有<h1>和所有<p>元素 $("div p") // 所有<div>元素下的所有<p>元素 $("div>*") //选取所有<div>元素的直接子元素$("#demo p") //选取id为demo的元素下的所有<p>元素$("*") // DOM的所有元素$(this) //选取当前HTML元素$("ul li:first") //选取第一个<ul>元素的第一个<li>元素$("ur li:first-child") //选取每个<ul>元素的第一个<li>元素$("[href]") //选取带有href属性的元素$("a[target='_blank']") //选取所有target属性值等于"_blank"的<a>元素$("a[target!='_blank']") //选取所有target属性值不等于"_blank"的<a>元素$(":button") //选取所有type="button"的<input>元素和<button>元素$("tr:even") //选取偶数位置的<tr>元素$("tr:odd") //选取奇数位置的<tr>元素$("div>*") //选取所有<div>元素的直接子元素
常用选择器:
attr()方法用于获取属性,并可修改属性值
removeAttr() 方法用于删除元素的任何属性.
$("table").removeAttr("border") //删除<table>元素的border属性
html() 方法用于获取所选元素的内容,包括HTML标记
text()方法用于获取元素的文本内容,不包括HTML标记
例如:
HTML:
<p> JQuery is <b>fun</b></p>
JS:
$(function() { var val = $("p").html(); alert(val);});// 弹出 "JQuery is <b>fun</b>"
$(function() { var val = $("p").text(); alert(val);});// 弹出 "JQuery is fun" (fun是黑体)
获取内容,并修改内容
$(function(){ $("p").text("活到老,学到老!" ) } ); //<p>元素的内容改为"活到老,学到老!"
val()方法,它允许我们获取和设置表单字段的值,例如: 文本框(input),下拉列表(select) 等。
例如:
HTML:
<input type="text" id="name" value="你的名字">
JS:
$(function(){ var name=$("#name").val(); alert(name); }); //弹出"你的名字"
你可以在val()方法传入参数来设置该字段的值.
当需要处理表单事件和验证时,获取和设置表单域的值非常有用。
以下jQuery方法可用于获取和设置所选HTML元素的内容和属性:
text() 设置或返回所选元素的文本内容。
html() 设置或返回所选元素的内容(包括HTML标签)。
val() 设置或返回表单字段的值。
attr() 设置或返回属性的值。
removeAttr() 删除指定的属性。
html() 和 text() 方法可以用于获取和设置所选元素的内容。
然而,这些方法用于设置内容时,现有内容将被覆盖。
jQuery具有用于向所选元素添加新内容而不删除现有内容的方法:
append() 在所选元素的末尾插入内容。
prepend() 在所选元素的开头插入内容。
after() 在所选元素之后插入内容。
before() 在所选元素之前插入内容。
例如:
HTML:
<p>prepend的意思是:</p>
JS:
$(function(){ $("p").append("预先考虑");}); //prepend的意思是:预先考虑
你还可以插入带有HTML标签的内容
$(function(){ $("p").append("<i>预先考虑</i>");}); //预先考虑是斜体
结果为:
after() 在所选元素之后插入内容:
上边的JS改为:
$(function(){ $("p").after("<i>预先考虑</i>");}); //预先考虑是斜体
结果为:
append(),prepend(),before() 和 after() 方法也可用于添加新创建的元素
使用jQuery创建新HTML元素的最简单方法如下:
var txt = $("<p></p>").text("consortium:联盟"); //创建了一个新元素<p> // $("<div></div>")可以创建一个新的div