博客列表 >12月23日_jQuery文档处理、筛选、属性和效果

12月23日_jQuery文档处理、筛选、属性和效果

fkkf467
fkkf467原创
2019年12月29日 17:15:48817浏览

一、jQuery文档处理

1. 内部插入

1) append()

向每个匹配的元素内部追加内容

示例

html代码

  1. <div>
  2. <p>你好</p>
  3. </div>
  4. <button onclick="js_append()">append</button>

JavaScript代码

  1. function js_append(){
  2. html = '<p>hello</p>';
  3. $('div').append(html);
  4. }

2) prepend()

向每个匹配的元素内部前置内容

示例

html代码

  1. <div id="mydiv">
  2. <span>哈哈哈</span>
  3. </div>
  4. <button onclick="js_prepend()">prepend</button>

JavaScript代码

  1. function js_prepend() {
  2. html = '<p>这是一句话</p>';
  3. $('div[id="mydiv"]').prepend(html);
  4. }

3) appendTo()

把所有匹配的元素追加到另一个指定的元素元素集合中

示例

html代码

  1. <p>我是段落p</p>
  2. <div id="div1">
  3. 我是div1
  4. </div>
  5. <div id="div2">
  6. 我是div2
  7. </div>
  8. <button onclick="js_appendTo()">appendTo</button>

JavaScript代码

  1. function js_appendTo() {
  2. $('p').appendTo('div');
  3. }

4) prependTo()

把所有匹配的元素前置到另一个、指定的元素元素集合中

示例

html代码

  1. <div>
  2. <span>这是一个字段</span>
  3. </div>
  4. <p>span2</p>
  5. <br>
  6. <button onclick="js_prependTo()">prependTo</button>

JavaScript代码

  1. function js_prependTo() {
  2. $('p').prependTo('div');
  3. }

2. 外部插入

1) after()

在每个匹配的元素之后插入内容

示例

html代码

  1. <span>点击下方查看按钮查看城市:</span>
  2. <br>
  3. <button onclick="js_after()">查看</button>

JavaScript代码

  1. function js_after() {
  2. $('span').after('<select><option>北京</option><option>上海</option><option>深圳</option></select>');
  3. }

2)before()

在每个匹配的元素之前插入内容

示例

html代码

  1. <p>我是猪小明</p>
  2. <button onclick="js_before()">before</button>

JavaScript代码

  1. function js_before() {
  2. $('p').before('<p>你好</p>');
  3. }

3. 删除

1) empty()

删除匹配的元素集合中所有的子节点

示例

html代码

  1. <div id="mydiv">
  2. <p>我是div里面的p</p>
  3. </div>
  4. <p>我是和div相邻的p</p>
  5. <button onclick="js_empty()">empty</button>

JavaScript代码

  1. function js_empty() {
  2. $('div[id="mydiv"]').empty();
  3. }

2) remove()

从DOM中删除所有匹配的元素

示例

html代码

  1. <button onclick="js_remove(this)">remove</button>

this表示当前对象
JavaScript代码

  1. function js_remove(obj) {
  2. $(obj).remove();
  3. }

4. 复制

clone()

克隆匹配的DOM元素并且选中这些克隆的副本

示例

html代码

  1. <button onclick="js_clone(this)">复制</button>

JavaScript代码

  1. function js_clone(obj) {
  2. $('script').before($(obj).clone());
  3. }

5. 案例:省市联动

html代码

  1. <label>省份</label>
  2. <select name="province" onchange="checked()">
  3. <option value="">请选择省份</option>
  4. <option value="sd">山东省</option>
  5. <option value="hn">河南省</option>
  6. <option value="ah">安徽省</option>
  7. </select>
  8. <label>城市</label>
  9. <select name="city">
  10. <option>请选择城市</option>
  11. </select>

JavaScript代码

  1. function get_citys(province){
  2. var citys = [];
  3. if (province == 'sd'){
  4. citys = [{val:'jn',txt:'济南'},{val:'qd',txt:'青岛'},{val:'zb',txt:'淄博'}];
  5. }
  6. if (province == 'hn'){
  7. citys = [{val:'zz',txt:'郑州'},{val:'ly',txt:'洛阳'},{val:'kf',txt:'开封'}];
  8. }
  9. if (province == 'ah'){
  10. citys = [{val:'hf',txt:'合肥'},{val:'hs',txt:'黄山'},{val:'aq',txt:'安庆'}];
  11. }
  12. return citys;
  13. }
  14. function checked() {
  15. var province = $('select[name="province"]').val();
  16. var citys = get_citys(province);
  17. var city_show = '<option value="">请选择城市</option>';
  18. for (var i=0;i<citys.length;i++){
  19. city_show += '<option value="'+citys[i].val+'">'+citys[i].txt+'</option>';
  20. }
  21. $('select[name="city"]').empty().append(city_show);
  22. }

二、jQuery筛选

1. 过滤

1)eq()

获取匹配的第几个元素

示例

html代码

  1. <p id="p1">第一个p</p>
  2. <p id="p2">第二个p</p>

JavaSript代码

  1. var t = $('p').eq(1);
  2. console.log(t);

2)first()

获取匹配的第一个元素

示例

html代码

  1. <p id="p1">第一个p</p>
  2. <p id="p2">第二个p</p>
  3. <p id="p3">第三个p</p>

JavaScript代码

  1. console.log($('p').first());

3)last()

获取匹配的最后个元素

示例

html代码

  1. <p id="p1">第一个p</p>
  2. <p id="p2">第二个p</p>
  3. <p id="p3">第三个p</p>

JavaScript代码

  1. console.log($('p').last());

4)hasClass()

检查匹配的元素是否含有某个特定的类,如果有,则返回true

示例

html代码

  1. <div name="div1" class="hello">
  2. div1
  3. </div>
  4. <div name="div2">
  5. div2
  6. </div>

JavaScript代码

  1. console.log($('div[name="div1"]').hasClass('hello'));
  2. console.log($('div[name="div2"]').hasClass('hello'));

2. 查找

children()

取得一个包含匹配的元素集合中每一个元素的所有子元素的元素集合

示例

html代码

  1. <div id="mydiv">
  2. <p id="div_p">我是div里的p</p>
  3. <div id="div_div">
  4. <p id="p2">我是小p</p>
  5. </div>
  6. <span id="sp">你好</span>
  7. </div>

JavaScript代码

  1. console.log($('div[id="mydiv"]').children());
  2. console.log($('div[id="mydiv"]').children('p'));

三、jQuery属性

CSS类

1)addClass()

为每个匹配的元素添加指定的类名

2) removeClass()

从所有匹配的元素中删除全部或者指定的类

示例

html代码

  1. <div id="mydiv">
  2. <a href="javascript:;" onclick="checked(this)">北京</a>
  3. <a href="javascript:;" onclick="checked(this)">上海</a>
  4. <a href="javascript:;" onclick="checked(this)">深圳</a>
  5. <a href="javascript:;" onclick="checked(this)">青岛</a>
  6. </div>

CSS代码

  1. #mydiv{
  2. background: lavender;
  3. width: 200px;
  4. height: 100px;
  5. }
  6. #mydiv a{
  7. text-decoration: none;
  8. }
  9. .active{
  10. background: deeppink;
  11. color: white;
  12. }

JavaScript代码

  1. function checked(obj){
  2. $('div[id="mydiv"] a').removeClass('active');
  3. $(obj).addClass('active');
  4. }

3)toggleClass()

如果存在(不存在)就删除(添加)一个类
JavaScript代码

  1. $(obj).toggleClass('active');

四、jQuery效果

基本

1)show()

显示隐藏的匹配元素

2)hide()

隐藏显示的元素

示例

html代码

  1. <div id="mydiv">
  2. <h3 onclick="showed()">导航</h3>
  3. <ul>
  4. <li>手机数码</li>
  5. <li>家用电器</li>
  6. <li>玩具乐器</li>
  7. <li>汽车用品</li>
  8. <li>礼品鲜花</li>
  9. </ul>
  10. </div>

CSS代码

  1. div ul{
  2. display: none;
  3. }

JavaScript代码

  1. function showed(){
  2. var t = $('div[id="mydiv"] > ul');
  3. if (t.css("display") == 'none'){
  4. t.show(1000);
  5. }else{
  6. t.hide(200);
  7. }
  8. }

3)toggle()

如果元素是可见的,切换为隐藏的;如果元素是隐藏的,切换为可见的
JavaScript代码

  1. $('div[id="mydiv"] > ul').toggle(500);

五、总结

对jQuery的常用操作有了进一步的了解。

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议