jquery如何遍历一个html页面标题生成目录
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jquery如何遍历一个html页面标题生成目录相关的知识,希望对你有一定的参考价值。
参考技术A Jquery属性遍历、html操作。Jquery拥有可操作HTML元素和属性的强大方法。
下面是我整理的一些jquery遍历函数:
.add()
将元素添加到匹配元素的集合中。
.andSelf()
把堆栈中之前的元素集添加到当前集合中。
.children()
获得匹配元素集合中每个元素的所有子元素。
.closest()
从元素本身开始,逐级向上级元素匹配,并返回最先匹配的祖先元素。
.contents()
获得匹配元素集合中每个元素的子元素,包括文本和注释节点。
.each()
对 jQuery 对象进行迭代,为每个匹配元素执行函数。
.end()
结束当前链中最近的一次筛选操作,并将匹配元素集合返回到前一次的状态。
.eq()
将匹配元素集合缩减为位于指定索引的新元素。
.filter()
将匹配元素集合缩减为匹配选择器或匹配函数返回值的新元素。
.find()
获得当前匹配元素集合中每个元素的后代,由选择器进行筛选。
.first()
将匹配元素集合缩减为集合中的第一个元素。
.has()
将匹配元素集合缩减为包含特定元素的后代的集合。
.is()
根据选择器检查当前匹配元素集合,如果存在至少一个匹配元素,则返回 true。
.last()
将匹配元素集合缩减为集合中的最后一个元素。
.map()
把当前匹配集合中的每个元素传递给函数,产生包含返回值的新 jQuery 对象。
.next()
获得匹配元素集合中每个元素紧邻的同辈元素。
.nextAll()
获得匹配元素集合中每个元素之后的所有同辈元素,由选择器进行筛选(可选)。
.nextUntil()
获得每个元素之后所有的同辈元素,直到遇到匹配选择器的元素为止。
.not()
从匹配元素集合中删除元素。
.offsetParent()
获得用于定位的第一个父元素。
.parent()
获得当前匹配元素集合中每个元素的父元素,由选择器筛选(可选)。
.parents()
获得当前匹配元素集合中每个元素的祖先元素,由选择器筛选(可选)。
.parentsUntil()
获得当前匹配元素集合中每个元素的祖先元素,直到遇到匹配选择器的元素为止。
.prev()
获得匹配元素集合中每个元素紧邻的前一个同辈元素,由选择器筛选(可选)。
.prevAll()
获得匹配元素集合中每个元素之前的所有同辈元素,由选择器进行筛选(可选)。
.prevUntil()
获得每个元素之前所有的同辈元素,直到遇到匹配选择器的元素为止。
.siblings()
获得匹配元素集合中所有元素的同辈元素,由选择器筛选(可选)。
.slice()
将匹配元素集合缩减为指定范围的子集。
以上是我对jquery遍历函数的见解。
HTML操作DOM的方法:
Jquery最重要的部分就是操作DOM的能力,jquery提供了一系列与DOM相关的方法,这使访问和操作属性的元素和属性就会变得很容易,怎么操作DOM对象:document Object Model(文档对象模型)DOM定义访问HTML和XML文档的标准:“W3C文档对象模型独立于平台和语言的界面,允许程序员和脚本动态访问和更新文档内容、结构以及样式。”。DOM获得-tex()、html()以及val()三个简单实用的用于 DOM 操作的 jQuery 方法:text() - 设置或返回所选元素的文本内容html() - 设置或返回所选元素的内容(包括 HTML 标记)val() - 设置或返回表单字段的值获取属性 - attr()
jQuery attr() 方法用于获取属性值。
设置所有 p 元素的内容:
$(".btn1").click(function()
$("p").html("Hello <b>world</b>!");
);
当使用该方法返回一个值时,它会返回第一个匹配元素的内容。
$(selector).html()
当使用该方法设置一个值时,它会覆盖所有匹配元素的内容。
$(selector).html(content)
使用函数来设置所有匹配元素的内容。
$(selector).html(function(index,oldcontent))
以上就是我对jquery属性,遍历,HTML操作的理解与见解,希望可以对大家有所帮助。
关于这篇jquery属性,遍历,HTML操作方法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持积木网。
jquery遍历标签中自定义的属性方法
在开发中我们有时会对html标签添加属性,如何遍历处理?ulliname="li1"sortid="nav_1"aaaaaaa/liliname="li1"sortid="nav_2"bbbbbbb/liliname="li1"sortid="nav_3"cccccccc/liliname="li1"s
用jquery获取自定义的标签属性的值简单实例
如下所示:trclass="gradeX"role="row"id="1001"td王羲之/tdtd2016-01-06/tdtdname="phone"style="display:none;"13680130700/tdtdname="pwd"style="display:none;"123456/tdtdclass="td-text-center"aclass
基于jQuery实现歌词滚动版音乐播放器的代码
先给大家看下效果图,感兴趣的朋友可以参考实现代码核心代码如下所示:$.ajax(url:"/music/music.txt",type:"get",success:function(data)data=jQuery.parseJSON(data);varlengt
如何使用jquery获取数据属性的值
【中文标题】如何使用jquery获取数据属性的值【英文标题】:How to get the value of data attribute using jquery 【发布时间】:2015-04-25 08:59:09 【问题描述】:我正在开发一个生成 html 页面的 node.js 应用程序。此 html 页面显示根据传递到此页面的数据构建的关联列表。列表的构建如下:
<ul class="notification-body" style="">
//loop for all assocaite id's passed to this page
<li class="testClass" data-associateid="<%= assocID %>">
<span>
<span class="subject">
<label class="btnClass label label-info">ClickMe!</label>
</span>
</span>
</li>
生成的 html src 如下所示:
<ul class="notification-body" style="">
<li class="testClass" data-associateid="AA01">
<li class="testClass" data-associateid="AA02">
<li class="testClass" data-associateid="AA03">
我正在尝试使用 Jquery 获取数据属性的值,我尝试了以下方法:
$(".btnClass").click(function()
console.log($".testClass").attr("data-associateid"));
);
但是每次我点击 btn 时都会输出 'AA01' 并且我没有在控制台中得到预期的输出: AA01 AA02 AA03
我也尝试了以下方法,但它给了我未定义:
$(".btnClass").click(function()
console.log($(this).find(".testClass").attr("data-associateid"));
);
【问题讨论】:
你的html代码中类.btnClass
的元素在哪里?
我认为你需要调查一下:api.jquery.com/each
对不起,我已经更新了原帖中的代码
来自 jquery:.attr() 方法仅获取匹配集中第一个元素的属性值。要单独获取每个元素的值,请使用循环构造,例如 jQuery 的 .each() 或 .map() 方法。
更新了我的答案以符合您的要求
【参考方案1】:
您需要使用@987654321@
。
我创建了一个jsFiddle 来展示它的工作原理。
我已经关闭了LI
,因为 AR。
<ul class="notification-body" style="">
<li class="testClass" data-associateid="AA01">1</li>
<li class="testClass" data-associateid="AA02">2</li>
<li class="testClass" data-associateid="AA03">3</li>
</ul>
这是 JavaScript:
$(document).ready(function()
$('.testClass').on('click', function()
alert( $(this).data('associateid') );
);
);
只要您有一个以data-
开头的属性,您就可以将破折号后面的字符串作为数据容器引用。在这里,我在一个对象(LI)上调用jQuery.data()
并请求容器associateID
中的数据。
【讨论】:
【参考方案2】:你目前在做什么:
$(".btnClass").click(function()
console.log($(".testClass").attr("data-associateid"));
);
将匹配.testClass
的第一个实例并打印data-associateid
属性。您似乎想要做的是遍历所有 .testClass
并打印它们的 data-associateid
值:
$(".btnClass").click(function()
$(".testClass").each(function()
console.log($(this).attr('data-associateid'));
);
);
根据您更新的 HTML,您可以这样做:
$(".btnClass").click(function()
var id = $(this).parents('.testClass').attr('data-associateid');
console.log(id);
);
这将搜索被点击的.btnClass
的父项,以查找类.testClass
的元素。
【讨论】:
提供了详细的解决方案,downvoter 应该注意解释 downV 的 ....+1 的操作以寻求帮助【参考方案3】:要获取该实例的数据,您只需遍历父 <li>
。
在事件处理程序中,this
是发生事件的元素。使用closest()
访问父<li>
$(".btnClass").on('click', function()
alert( $(this).closest('li').data('associateid') );
);
【讨论】:
【参考方案4】:像这样为你的 li 元素分配不同的类:
<ul class="notification-body" style="">
<li class="testClass1" data-associateid="AA01">test 1</li>
<li class="testClass2" data-associateid="AA02">test 2</li>
<li class="testClass3" data-associateid="AA03">test 2</li>
</ul>
请注意,我关闭了您的 li 和 ul 标记以获得有效的 HTML。
然后你可以选择一个有自己的类的元素:
console.log($(".testClass2").attr("data-associateid"));
我为你创建了一个 JSFiddle:
http://jsfiddle.net/8rLpbk5m/
【讨论】:
好的,我没有看到您要记录所有 ID。所以这是乔纳森克劳的答案。 分配唯一的类不是必需的或非常可扩展的。访问元素的多种其他方式【参考方案5】:我曾希望您只需找到即可做到这一点,但显然不是。您必须使用 each 循环遍历所有元素。
$(".btnClass").click(function()
$(".testClass").each(function()
console.log($(this).attr('data-associateid'));
);
);
在此处查看:http://jsfiddle.net/rt677qp5/
【讨论】:
大家好,非常感谢您的回复。我已经更新了我在原始帖子中使用的 html 结构。所以基本上,当我点击标签“clickMe”时,我想 console.log() 该 对应的 assocaiteId 的值【参考方案6】:在这种情况下使用 .data() 更合乎逻辑。
$(".btnClass").click(function()
$(".testClass").each(function()
alert($(this).data("associateid"));
)
);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<ul class="notification-body" style="">
<li class="testClass" data-associateid="AA01"></li>
<li class="testClass" data-associateid="AA02"></li>
<li class="testClass" data-associateid="AA03"></li>
</ul>
<button class="btnClass"></button>
【讨论】:
以上是关于jquery如何遍历一个html页面标题生成目录的主要内容,如果未能解决你的问题,请参考以下文章