首页 > 其他分享 >Zepto基本选择器与DOM操作

Zepto基本选择器与DOM操作

时间:2024-11-22 14:14:02浏览次数:3  
标签:DOM 元素 选取 content Zepto 选择器 属性

目录


Zepto基本选择器

基础选择器

ID选择器
Zepto('#elementId');

此代码会选取ID为elementId的DOM元素。

类选择器
Zepto('.className');

选取所有拥有类名为className的元素。

标签选择器
Zepto('tagName');

选取所有指定标签名(如div, span)的元素。

通用选择器
Zepto('*');

选取页面上的所有元素。

层次选择器

后代选择器
Zepto('ancestor descendant');

选取所有ancestor元素下的descendant元素,无论嵌套多少层。

子元素选择器
Zepto('parent > child');

选取所有作为parent直接子元素的child元素。

相邻兄弟选择器
Zepto('prev + next');

选取紧接在prev元素之后的同级next元素。

一般兄弟选择器
Zepto('prev ~ siblings');

选取所有在prev元素之后的同级siblings元素。

属性选择器

属性存在选择器
Zepto('[attribute]');

选取所有具有指定属性的元素,不论属性值为何。

属性值等于选择器
Zepto('[attribute=value]');

选取属性attribute值等于value的元素。

属性值包含选择器
Zepto('[attribute*="value"]');

选取属性attribute值中包含value字符串的元素。

属性值开始于选择器
Zepto('[attribute^="value"]');

选取属性attribute值以value开头的元素。

属性值结束于选择器
Zepto('[attribute$="value"]');

选取属性attribute值以value结尾的元素。

组合选择器

逗号分隔选择器
Zepto('selector1, selector2, ...');

同时选取多个选择器匹配的所有元素。

代码示例分析

假设我们有以下HTML结构:

<div id="container">
    <p class="text">Hello</p>
    <p class="text selected">World</p>
    <div>
        <span class="hidden">Hidden Text</span>
    </div>
</div>
示例1:选取所有.text类的元素
var texts = Zepto('.text');
console.log(texts.length); // 输出2,因为有两个<p>元素拥有.text类
示例2:选取ID为container的元素下的直接子元素p
var directPChildren = Zepto('#container > p');
console.log(directPChildren.length); // 输出2
示例3:选取拥有selected类的元素
var selected = Zepto('.selected');
console.log(selected.text()); // 输出"World"

Zepto DOM操作

Zepto.js 提供了一系列丰富的DOM操作方法,使得开发者能够方便快捷地处理网页文档对象模型(DOM)。

1. 查找元素

子元素查找
  • .find(selector):在当前集合中每个元素的后代中查找符合selector的元素。
Zepto('#container').find('.item'); // 找到id为container元素内的所有class为item的子孙元素
后代元素查找
  • .children([selector]):获取当前集合中每个元素的直接子元素,可选参数selector用于过滤子元素。
Zepto('#parent').children(); // 获取id为parent元素的所有直接子元素
Zepto('#parent').children('.active'); //

获取id为parent元素下所有拥有.active类的直接子元素

2. 创建元素

  • $('<tag>', [attributes])Zepto.fragment(htmlString[, wrapElement]):创建新的DOM元素或HTML片段。
var newDiv = Zepto('<div>', {class: 'new'});
// 或
var htmlFragment = Zepto.fragment('<div class="new"></div>');

3. 插入元素

  • .append(content):在每个匹配元素内部的末尾追加内容。
  • .prepend(content):在每个匹配元素内部的开头插入内容。
  • .after(content):在每个匹配元素之后插入内容。
  • .before(content):在每个匹配元素之前插入内容。
Zepto('.container').append('<p>New paragraph</p>'); // 在每个class为container的元素内部末尾添加新段落

4. 删除元素

  • .remove([selector]):删除所有匹配的元素,可选参数selector用于筛选。
  • .empty():清空匹配元素集合中所有元素的子节点。
Zepto('.to-remove').remove(); // 删除所有class为to-remove的元素
Zepto('#container').empty(); // 清空id为container元素的所有子节点

5. 替换元素

  • .replaceWith(newContent):用提供的新内容替换匹配的元素。
  • .replaceAll(target):将匹配的元素替换掉每个target元素。
Zepto('.old').replaceWith('<div class="new">New Content</div>'); // 替换所有class为old的元素
Zepto('<div class="replacement">Replacement</div>').replaceAll('.to-replace'); // 用新的div替换所有class为to-replace的元素

6. 属性操作

  • .attr(name[, value]):获取或设置属性值。
  • .removeAttr(name):移除属性。
var href = Zepto('a').attr('href'); // 获取链接的href属性
Zepto('img').attr('src', 'new-image.jpg'); // 修改所有图片的src属性
Zepto('.hidden').removeAttr('style'); // 移除所有class为hidden元素的style属性

7. 文本与HTML操作

  • .text([content]):获取或设置匹配元素的文本内容。
  • .html([content]):获取或设置匹配元素的内容(HTML)。
var text = Zepto('.content').text(); // 获取class为content元素的文本
Zepto('.content').html('<b>New Bold Text</b>'); // 设置class为content元素的HTML内容

8. 事件绑定与触发

  • .on(events[, selector][, data], handler):绑定事件处理器。
  • .off([events][, selector][, handler]):移除事件处理器。
  • .trigger(eventType[, eventData]):在每个匹配元素上触发指定类型事件。
Zepto('.button').on('click', function() {
    alert('Button clicked!');
});

Zepto('.button').trigger('click'); // 触发所有class为button元素的点击事件

标签:DOM,元素,选取,content,Zepto,选择器,属性
From: https://blog.csdn.net/A1215383843/article/details/143894672

相关文章

  • WEB攻防-XSS跨站&反射型&存储型&DOM型&标签闭合&输入输出&JS代码解析
    XSS跨站-输入输出-原理&分类&闭合漏洞原理:接受输入数据(如前端JS代码进行执行),输出显示数据后解析执行(先分析,在输入,有闭合绕闭合,有过滤绕过滤)反射(非持续型攻击)有一些浏览器会阻止不确定用户会不会点击利用:可以制造一个钓鱼网站基础类型:反射(非持续),存储(持续),DOM......
  • 说说你对影子(Shadow)DOM的了解
    ShadowDOM(影子DOM)是Web组件的关键特性之一,它允许在网页上创建封装的DOM树,从而实现样式和行为的隔离。这就像在页面中创建了一个“独立的世界”,外部样式不会影响内部,内部样式也不会泄漏到外部。以下是ShadowDOM的一些关键特性和优势:封装样式:ShadowDOM中的样式是独立的......
  • 【FreedomMan原创】本地离线部署通义千问2-VL多模态大模型推理【图生文】
    开发环境、工具windows10专业版idea2020.1.4、anaconda3、python3.11.10机器配置I5-1240P、16GRAM模型名称通义千问Qwen/Qwen2-VL-2B-Instruct-GPTQ-Int8代码调用示例本机无cudn显卡,使用cpu推理调用fromtransformersimportQwen2VLForConditionalGeneration,Auto......
  • File Recovery FAT32 dominantin SD
    Lab4:FileRecoveryIntroductionFAThasbeenaroundfornearly50years.Becauseofitssimplicity,itisthemostwidelycompatiblefilesystem.Althoughrecentcomputershaveadoptednewerfilesystems,FAT32(anditsvariant,exFAT)isstilldominan......
  • 【C语言】前端虚拟DOM
    你对前端框架中的虚拟DOM有何理解?它与真实DOM有何区别和联系?虚拟DOM(VirtualDOM)是一种由前端框架如React、Vue等创建的概念,用于优化网页渲染过程。它是实际DOM的一个轻量级副本,存储在内存中,由JavaScript动态构建。每当组件的状态改变时,虚拟DOM会计算出新的状态与之前的差异,而......
  • 随机森林(Random Forest)详解
    ✅作者简介:2022年博客新星第八。热爱国学的Java后端开发者,修心和技术同步精进。......
  • 【Pytorch】Python random 模块
            Python random 模块主要用于生成随机数,是常用的一个包,random 模块实现了各种分布的伪随机数生成器。在训练传统机器学习模型或者深度神经网络模型的过程中经常会用到。要使用 random 函数必须先导入:importrandom1.random()        使用ra......
  • 什么是虚拟DOM?它在React中是如何工作的?
    虚拟DOM(VirtualDOM)是React中用于优化UI渲染性能的一种核心概念。它是一种轻量级的JavaScript对象,用来模拟真实DOM节点的结构和属性。虚拟DOM的主要作用是在内存中构建一个UI的抽象表示,然后通过与真实DOM进行比较和更新,减少直接操作真实DOM的次数,从而提高性能。在React中,虚拟D......
  • CSS入门(主要讲解选择器,CSS的创建,背景,文本)
    一.理解id和class选择器id选择器CSS中id选择器以"#"来定义。以下的样式规则应用于元素属性id="para1":#para1{text-align:center;color:red;}注意:ID属性不要以数字开头,数字开头的ID在Mozilla/Firefox浏览器中不起作用。class选择器class选择器在......
  • Linux编程:基于 Unix Domain Socket 的进程/线程间通信实时性优化
    文章目录0.引言1.使用`epoll`边缘触发模式非不要不选择阻塞模式边缘触发(ET)模式优点示例2.使用实时调度策略3.CPU绑定4.使用无锁缓冲区5.优化消息传递的大小和频率6.使用`SO_RCVTIMEO`和`SO_SNDTIMEO`7.示例代码其他阅读0.引言前几天被问到“如何优......