问题:有好几个ul,只有其中一个下面有好几个li,用js怎么通过这个li获取其包含它的ul在所有ul中的下标值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了问题:有好几个ul,只有其中一个下面有好几个li,用js怎么通过这个li获取其包含它的ul在所有ul中的下标值相关的知识,希望对你有一定的参考价值。

参考技术A

页面代码:

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title></title>

<script type="text/javascript" src="js/jquery-1.11.1.min.js"></script>

</head>

<style>

li

margin-left: 38px;

</style>

<body>

<div class="box">

<ul>

<p>1</p>

<li>1</li>

<li>2</li>

<li>3</li>

</ul>

<ul>

<p>2</p>

<li>21</li>

<li>22</li>

<li>23</li>

</ul>

<ul>

<p>3</p>

<li>31</li>

<li>32</li>

<li>33</li>

</ul>

<ul>

<p>4</p>

<li>41</li>

<li>42</li>

<li>43</li>

</ul>

<ul>

<p>5</p>

<li>51</li>

<li>52</li>

<li>53</li>

<li>54</li>

<li>55</li>

</ul>

</div>

</body>

<script>

$(document).on("click","li",function()

var ulindex=$(this).parent("ul").index();

alert(ulindex)

)

</script>

</html>

//记得引用jq

本回答被提问者和网友采纳

什么是RAID?RAID有什么用?RAID原理

什么是RAID

硬盘是个很脆弱的东西,它经常会坏掉。所以,为了保证服务器可靠耐用,硬盘必须时时刻刻保持可用。所以有了RAID这个东西。它的目的是将好几个硬盘合并在一起,就算硬盘坏了一个,剩下还有好几个硬盘是正常的,这样服务器才不会挂掉。

当然,保证服务高可用只是RAID其中的一个功能。它还能提升储存容量、加快存取速度等能力。

RAID分为0~6级,另外还有RAID 1+0,简称RAID 10。下面分别介绍这几种RAID实现原理。

下图就是一个RAID实物图:

技术分享

下图是RAID示意图:

技术分享

它跟插线板是相似的概念。区别在于,插线板是为了扩展电源插孔,RAID是为了扩展硬盘插槽。

技术分享

RAID-0

RAID 0没有数据冗余、没有奇偶校验。因此,如果一个硬盘坏掉了,整个RAID阵列的数据都没法正常使用了。它存在的意义在于加快读写速度,提升硬盘容量。通常在数据可靠性要求不高的情况下才会使用RAID 0。比如游戏、科学计算。

因为每个硬盘都可以独立读写,如果硬盘有n块,那么读写速度提升是n倍。

下图是RAID 0的数据分布方式:

技术分享

RAID-1

RAID 1模式下,如果有n块硬盘,那么会把数据保存n份一模一样的。这样即使一份数据坏掉了,剩下的备份可以正常工作。性能方面,随机存取速度相当于所有硬盘的总和,写入性能和原来单个硬盘的性能一样。

技术分享

RAID-1E

这种模式跟RAID 1的区别在于,当硬盘数量大于2时,RAID 1E对于同一份数据最多保存两份一模一样的。这样可以充分的利用硬盘空间。下图说明了这种储存方式。

技术分享

RAID-1+0

这种模式全称是RAID-1加上RAID-0。它实现的原理如下图所示:

用几句话来描述吧。它相当于先把这些硬盘成对成对的用RAID-1方式组合起来,然后再把这些组合结果用RAID-0方式组合起来。这种模式下它支持高可用,又能有很好的读写性能。这种方式,由于需要存两份一模一样的数据,因此容量会损失一半。

这种方式是目前最常用的。

技术分享

RAID-2

这种模式现在已经不太常用了。它把每个数据位都打散,然后均匀的放到各个硬盘上。使用了Hamming代码来做纠错,将Hamming代码放到专门的几个硬盘里面。下图可以看到这种模式的数据分布:

技术分享

RAID-3

这种模式现在也已经不太常用了。它把每个数据字节都打散,然后均匀的分散到各个硬盘。然后将奇偶校验的数据放到专门的硬盘里。关于奇偶校验的数据在后面会提到。这种模式下,由于每个数据都分散到各个硬盘的不同地方,因此每次操作都需要所有硬盘来参与。所以,对于随机存取的场景下,这种模式的性能是很差的。对于特别长的顺序读写是非常合适的,比如视频监控数据。

技术分享

RAID-4

这种模式把每个数据块打散,然后均匀的分散到各个硬盘。另外还设置了专门的硬盘用来储存奇偶校验的数据。这种模式下,随机读取的性能非常好。但是随机写入的性能却不行。因为需要将所有奇偶校验的数据全部写到专门的硬盘里面。

技术分享

RAID-5

这种模式把每个数据块打散,然后均匀分布到各个硬盘。与RAID-4不同的是,它将奇偶校验的数据均匀的分散到不同的硬盘。这样如果有一个硬盘坏掉了,丢失的数据可以从奇偶校验里面计算出来。

通常RAID-5的容量会损失1/3,用来储存奇偶校验信息。

这种模式兼顾了成本、性能,也是比较常用的一种模式。

技术分享

RAID-6

这种模式与其他模式的区别在于,它支持两块硬盘同时损坏,并且仍然能够正常工作。它有这般神奇的能力,是因为它保存了两种奇偶校验。一种是普通的XOR方式,跟RAID-5一样。另外一种比较复杂,需要消耗比较多的CPU。这种奇偶校验方式在后面再讲。

技术分享

参考资料

https://en.wikipedia.org/wiki/RAID

https://en.wikipedia.org/wiki/Standard_RAID_levels

以上是关于问题:有好几个ul,只有其中一个下面有好几个li,用js怎么通过这个li获取其包含它的ul在所有ul中的下标值的主要内容,如果未能解决你的问题,请参考以下文章

当 <ul> 中只有 1 个 <li> 时,如何更改任何内容滑块以禁用下一个/上一个按钮?

fluent中有好几个cellzone,get_domain取的是哪个

vue项目中,部门列表好几个地方都用上,用vuex怎么管理?

为啥一个安卓app会有好几个进程

js 点击ul下面的其中一个li改变背景颜色 li其中一句:<li onclick="td(this)">第1个</li> 然后呢,js代码

[js高手之路]Node.js+jade+express+mongodb+mongoose+promise实现todolist