jQuery HTML
jQuery 拥有可操作HTML元素和属性的强大方法。
jQuery DOM 操作
获取内容 -text()、html()以及val()
- text()设置或返回所选元素的文本内容
- html() 设置或返回所选元素的内容(包括html标记)
- val() 设置或返回表单字段的值
通过 jQuery text() 和 html() 方法来获得内容
<script src="http://code.jquery.com/jquery-1.9.1.min.js" type="text/javascript"></script>
<script>
$(document).ready(function(){
$("#btn1").click(function(){
alert("Text:"+$("#test").text());
});
$("#btn2").click(function(){
alert("HTML"+$("#test").html());
})
});
</script>
<p id="test">这是段落中的<b>粗体</b>文本</p>
<button id="btn1">显示文本</button>
<button id="btn2">显示
HTML</button>
通过 jQuery val() 方法获得输入字段的值
$("#btn3").click(function(){
alert("Value"+$("#test1").val());
})
<p>姓名:<input type="text" id="test1" value="米老鼠"></p>
<button id="btn3">显示值</button>
获取属性 -attr()
$("#btn4").click(function(){
alert($("#baidu").attr("href"));
});
<p><a href="http://www.baidu.com" id="baidu">百度一下</a></p>
<button id="btn4">显示href</button>
设置内容 - text()、html() 以及 val()
- text() 设置或返回所选元素的文本内容
- html() 设置或返回所选元素的内容(包括 HTML 标记)
- val() 设置或返回表单字段的值
<script>
$(document).ready(function(){
$("#btn1").click(function(){
$("#test1").text("Hello World!");
});
$("#btn2").click(function(){
$("#test2").html("<b>Hello World!!!</b>");
});
$("#btn3").click(function(){
$("#test3").val("Hello Mary!!!");
});
});
</script>
<body>
<p id="test1">这是段落。</p>
<p id="test2">这是另一个段落</p>
<p><input type="text" id="test3" value="lalalala"></p>
<button id="btn1">设置文本</button>
<button id="btn2">设置HTML</button>
<button id="btn3">设置值</button>
</body>
text()、html() 以及 val() 的回调函数
回调函数有两个参数:被选元素列表中当前元素的下标,以及原始(旧的)值。然后以函数新值返回你希望使用的字符串。
<script>
$(document).ready(function(){
$("#btn1").click(function(){
$("#test1").text(function(i,origText){
return "old text:"+origText+"New Text: Hellow world!(index+"+i+")";
});
});
$("#btn2").click(function(){
$("#test2").html(function(i,origText){
return "old Html:"+origText+" New HTML: Hello <b>World</b>(index"+i+")";
});
});
});
</script>
<p id="test1">这是<b>粗体</b>文本。</p>
<p id="test2">这是<b>另一段粗体</b>文本</p>
<button id="btn1">显示旧|新文本</button>
<button id="btn2">显示旧|新HTML</button>
设置属性-attr()
JQuery att()方法也可以设置/改变属性值
<script>
$(document).ready(function(){
$("#btn1").click(function(){
$("#baidu").attr("href","http://www.jianshu.com");
});
});
</script>
<p><a href="http://www.baidu.com" id="baidu">百度一下</a></p>
<button id="btn1">改变href的值</button>
attr()方法也允许同时设置多个属性
同时设置href和title属性:
$("#btn5").click(function(){
$("#baidu").attr({
"href":"http://www.w3school.com.cn/jquery/",
"title":"W3School jQuery 教程"
});
})
<p><a href="http://www.baidu.com" id="baidu">百度一下</a></p>
<button id="btn5">改变href和title</button>
attr()的回调函数
jQuery 方法 attr(),也提供回调函数。回调函数由两个参数:被选元素列表中当前元素的下标,以及原始(旧的)值。然后以函数新值返回您希望使用的字符串。
jQuery-添加元素
通过jQuery,可以很容易地添加新元素/内容。
添加新的HTML内容
- append() -在被选元素的结尾添加元素
- prepend() -在被选元素的开头插入内容
- after() -在被选元素之后插入元素
- before() -在被选元素之前插入内容
jQuery append()方法
jQuery append()方法在被选元素的结尾插入内容
<script>
$(document).ready(function(){
$("#btn1").click(function(){
$("p").append("<b>Appended text</b>");
});
$("#btn2").click(function(){
$("ol").append("<li>Appended item</li>");
});
});
</script>
<p>This is a paragraph.</p>
<p>This is a another paragraph.</p>
<ol>
<li>List item 1</li>
<li>List item 2</li>
<li>List item 3</li>
</ol>
<button id="btn1">追加文本</button>
<button id="btn2">追加列表项</button>
jQuery prepend()方法
jQuery prepend()方法在被选元素的开头插入元素
<script>
$(document).ready(function(){
$("#btn1").click(function(){
$("p").prepend("<b>Prepended text</b>");
});
$("#btn2").click(function(){
$("ol").prepend("<li>Prepended item</li>");
});
});
</script>
<p>This is a paragraph.</p>
<p>This is a another paragraph.</p>
<ol>
<li>List item 1</li>
<li>List item 2</li>
<li>List item 3</li>
</ol>
<button id="btn1">追加文本</button>
<button id="btn2">追加列表项</button>
通过 append() 和 prepend() 方法添加若干新元素
append() 和 prepend() 方法能够通过参数接收无限数量的新元素。可以通过 jQuery 来生成文本/HTML(就像上面的例子那样),或者通过 JavaScript 代码和 DOM 元素。
<script>
function appendText(){
var txt1="<p>Text1.</p>";
var txt2=$("<p></p>").text("Text2.");
var txt3=document.createElement("p");
txt3.innerHTML="Text3.";
$("body").append(txt1,txt2,txt3);
}
</script>
<p>This is a paragraph.</p>
<button onclick="appendText()">追加文本</button>
jQuery after() 和 before() 方法
jQuery after()方法在被选元素之后插入内容
jQuety before()方法在被选元素之前插入内容
<script>
$(document).ready(function(){
$("#btn1").click(function(){
$("img").before("<b>Before</b>");
});
$("#btn2").click(function(){
$("img").after("<i>After</i>");
});
});
</script>
<img src="/i/eg_w3school.gif" alt="W3School Logo" />
<br><br>
<button id="btn1">在图片前面添加文本</button>
<button id="btn2">在图片后面添加文本</button>
通过 after() 和 before() 方法添加若干新元素
fter() 和 before() 方法能够通过参数接收无限数量的新元素。可以通过 text/HTML、jQuery 或者 JavaScript/DOM 来创建新元素。
在下面的例子中,我们创建若干新元素。这些元素可以通过 text/HTML、jQuery 或者 JavaScript/DOM 来创建。然后我们通过 after() 方法把这些新元素插到文本中(对 before() 同样有效):
<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); // 在 img 之后插入新元素
}
</script>
<img src="/i/eg_w3school.gif" alt="W3School Logo" />
<br><br>
<button onclick="afterText()">在图片后面添加文本</button>
jQuery -删除元素
通过jQuery,可以很容易地删除已有的HTML元素。
删除元素/内容
如需要删除元素和内容
- remove() -删除被选元素(及其子元素)
- empty() -从被选元素中删除子元素
jQuery remove() 方法
Query remove() 方法删除被选元素及其子元素。
<script>
$(document).ready(function(){
$("button").click(function(){
$("#div1").remove();
});
});
</script>
<div id="div1" style="height:100px;width:300px;border:1px solid black;background-color:yellow;">
This is some text in the div.
<p>This is a paragraph in the div.</p>
<p>This is another paragraph in the div.</p>
</div>
<br>
<button>删除 div 元素</button>
jQuery empty() 方法
jQuery empty() 方法删除被选元素的子元素。
用法和remove()一样
过滤被删除的元素
Query remove() 方法也可接受一个参数,允许您对被删元素进行过滤。
该参数可以是任何 jQuery 选择器的语法。
下面的例子删除 class="italic" 的所有 <p> 元素:
<script>
$(document).ready(function(){
$("button").click(function(){
$("p").remove(".italic");
});
});
</script>
<p>This is a paragraph in the div.</p>
<p class="italic"><i>This is another paragraph in the div.</i></p>
<p class="italic"><i>This is another paragraph in the div.</i></p>
<button>删除 class="italic" 的所有 p 元素</button>
jQuery-获取并设置CSS类
通过jQuery,可以很容易地对CSS元素进行操作。
- addClass() -向被选元素添加一个或多个类
- removeClass() -从被选元素删除一个或多个类
- toggleClass() -对被选元素进行添加/删除等切换操作
- css() -设置或返回样式属性
jQuery addClass() 方法
$(document).ready(function(){
$("button").click(function(){
$("h1,h2,p").addClass("blue");
$("div").addClass("important");
});
});
<style type="text/css">
.important
{
font-weight:bold;
font-size:xx-large;
}
.blue
{
color:blue;
}
</style>
可以在addClass()方法中规定多个类
$("button").click(function(){
$("#div1").addClass("important blue");
});
jQuery removeClass()方法
$("button").click(function(){
$("h1,h2,p").removeClass("blue");
});
jQuery toggleClass() 方法
$("button").click(function(){
$("h1,h2,p").toggleClass("blue");
});
jQuery -css()方法
css()方法设置或返回被选元素的一个或多个属性。
返回CSS属性
如需返回指定的CSS属性的值,需使用
css("propertyname");
下面的例子将返回首个匹配元素的 background-color 值:
$("p").css("background-color");
设置CSS属性
如果需要设置指定的CSS属性,
css("propertyname","value");
下面的例子将为所有匹配元素设置 background-color 值:
$("p").css("background-color","yellow");
设置多个 CSS 属性
如需设置多个 CSS 属性,请使用如下语法:
css({"propertyname":"value","propertyname":"value",...});
下面的例子将为所有匹配元素设置 background-color 和 font-size:
$("p").css({"background-color":"yellow","font-size":"200%"});
jQuery - 尺寸
通过 jQuery,很容易处理元素和浏览器窗口的尺寸。
jQuery尺寸方法
- width()
- height()
- innerWidth()
- innerHeight()
- outerWidth()
- outerHeight()
jQuery width() 和 height() 方法
width() 方法设置或返回元素的宽度(不包括内边距、边框或外边距)。
height() 方法设置或返回元素的高度(不包括内边距、边框或外边距)。
$("button").click(function(){
var txt="";
txt+="Width: " + $("#div1").width() + "</br>";
txt+="Height: " + $("#div1").height();
$("#div1").html(txt);
});
jQuery innerWidth() 和 innerHeight() 方法
innerWidth() 方法返回元素的宽度(包括内边距)。
innerHeight() 方法返回元素的高度(包括内边距)。
$("button").click(function(){
var txt="";
txt+="Inner width: " + $("#div1").innerWidth() + "</br>";
txt+="Inner height: " + $("#div1").innerHeight();
$("#div1").html(txt);
});
jQuery outerWidth() 和 outerHeight() 方法
outerWidth() 方法返回元素的宽度(包括内边距和边框)。
outerHeight() 方法返回元素的高度(包括内边距和边框)。
$("button").click(function(){
var txt="";
txt+="Outer width: " + $("#div1").outerWidth() + "</br>";
txt+="Outer height: " + $("#div1").outerHeight();
$("#div1").html(txt);
});
outerWidth(true) 方法返回元素的宽度(包括内边距、边框和外边距)。
outerHeight(true) 方法返回元素的高度(包括内边距、边框和外边距)。
$("button").click(function(){
var txt="";
txt+="Outer width (+margin): " + $("#div1").outerWidth(true) + "</br>";
txt+="Outer height (+margin): " + $("#div1").outerHeight(true);
$("#div1").html(txt);
});
jQuery - 更多的 width() 和 height()
下面的例子返回文档(HTML 文档)和窗口(浏览器视口)的宽度和高度:
$("button").click(function(){
var txt="";
txt+="Document width/height: " + $(document).width();
txt+="x" + $(document).height() + "\n";
txt+="Window width/height: " + $(window).width();
txt+="x" + $(window).height();
alert(txt);
});
下面的例子设置指定的 <div> 元素的宽度和高度:
$(document).ready(function(){
$("button").click(function(){
$("#div1").width(500).height(500);
})
})