Javascript 为每个新循环添加新ID
我正在开发一种使用Javascript 为每个新循环添加新ID,javascript,loops,Javascript,Loops,我正在开发一种使用li标记的循环。对于这个循环,我将使用一些文本,这些文本将通过一个简单的打开和关闭JavaScript代码来显示,我在单击某处时编写了这些代码。大家都知道,这种代码是通过getElementById属性操作的。然而,由于我将循环这些列表项,所以我不能在它们中重复ID。那么,如何在不重复ID的情况下循环这些列表项呢 以下面的HTML为例: <section class="pro-further"> <span>Consulte</span>
li
标记的循环。对于这个循环,我将使用一些文本,这些文本将通过一个简单的打开和关闭JavaScript代码来显示,我在单击某处时编写了这些代码。大家都知道,这种代码是通过getElementById
属性操作的。然而,由于我将循环这些列表项,所以我不能在它们中重复ID。那么,如何在不重复ID的情况下循环这些列表项呢
以下面的HTML为例:
<section class="pro-further">
<span>Consulte</span><br>
<ul>
<li><div onClick="furtherInfo('test');">Info one</div>
<div id="test">Text for first info</div>
</li>
<li><div>Info two</div>
<div>Text for second info</div>
</li>
<li><div>Info three</div>
<div>Text for third info</div>
</li>
<li><div>Info four</div>
<div>Text for fourth info</div>
</li>
<li><div>Info five</div>
<div>Text for fifth info</div>
</li>
<li><div>Info six</div>
<div>Text for sixth info</div>
</li>
</ul>
</section>
还有CSS
.pro-further ul {
width:100%;
list-style-type:none;
margin-left:0px;
}
.pro-further ul li > div {
width:99.3%;
font-size:14px;
color:#FFF;
background:url(../images/plus2.png) #23459F no-repeat 99% 50%;
padding:6px 2px 6px 5px;
margin-bottom:3px;
cursor:pointer;
}
.pro-further ul li > div + div {
width:98.5%;
font-size:13px;
color:#737373;
background:white;
border:1px solid #23459F;
padding:2px 5px 2px 5px;
margin-top:-3px;
display:none;
cursor:text;
}
谢谢大家!
您可以为每个项目指定一个类,然后使用
document.getElementsByCassName()循环遍历它们。
请参见此处的更多信息:
您可以为每个项目指定一个类,然后使用
document.getElementsByCassName()循环遍历它们。
请参见此处的更多信息:
您可以为每个项目指定一个类,然后使用
document.getElementsByCassName()循环遍历它们。
请参见此处的更多信息:
您可以为每个项目指定一个类,然后使用
document.getElementsByCassName()循环遍历它们。
请参见此处的更多信息:
这里有一个无ID的解决方案:
window.onload=function(){
var elems=document.getElementsByTagName(“li”);
对于(变量i=0;i
为了限制“getElementsByTagName”,我建议给您的外部容器(带有
class=“pro-further”
的容器)一个ID,这样它看起来像
,这样您就可以指定var-elems=document.getElementById(“pro-furth-toggles”).getElementsByTagName(“li”);
以下是一个无ID的解决方案:
window.onload=function(){
var elems=document.getElementsByTagName(“li”);
对于(变量i=0;i
为了限制“getElementsByTagName”,我建议给您的外部容器(带有
class=“pro-further”
的容器)一个ID,这样它看起来像
,这样您就可以指定var-elems=document.getElementById(“pro-furth-toggles”).getElementsByTagName(“li”);
以下是一个无ID的解决方案:
window.onload=function(){
var elems=document.getElementsByTagName(“li”);
对于(变量i=0;i
为了限制“getElementsByTagName”,我建议给您的外部容器(带有
class=“pro-further”
的容器)一个ID,这样它看起来像
,这样您就可以指定var-elems=document.getElementById(“pro-furth-toggles”).getElementsByTagName(“li”);
以下是一个无ID的解决方案:
window.onload=function(){
var elems=document.getElementsByTagName(“li”);
对于(变量i=0;i
为了限制“getElementsByTagName”,我建议给您的外部容器(带有
class=“pro-further”
的容器)一个ID,因此它看起来像
,这样您就可以指定var-elems=document.getElementById(“pro-furth-toggles”).getElementsByTagName(“li”);
在这种情况下,您可以只使用DOM遍历,假设兄弟关系不变:
var furtherInfo = function(el) {
var openInfo = el.nextElementSibling;
openInfo.style.display = openInfo.style.display == 'block' ? 'none' : 'block'
}
假设为HTML,例如:
<ul>
<li><div onClick="furtherInfo(this);">Info one</div>
<div id="test">Text for first info</div>
</li>
<li><div onClick="furtherInfo(this);">Info two</div>
<div>Text for second info</div>
</li>
<!-- and so on... -->
</ul>
- 信息一
第一信息文本
- 信息二
第二信息文本
.在这种情况下,您可以只使用DOM遍历,假设兄弟关系为常量:
var furtherInfo = function(el) {
var openInfo = el.nextElementSibling;
openInfo.style.display = openInfo.style.display == 'block' ? 'none' : 'block'
}
假设为HTML,例如:
<ul>
<li><div onClick="furtherInfo(this);">Info one</div>
<div id="test">Text for first info</div>
</li>
<li><div onClick="furtherInfo(this);">Info two</div>
<div>Text for second info</div>
</li>
<!-- and so on... -->
</ul>
- 信息一
第一信息文本
- 信息二
第二信息文本
.在这种情况下,您可以只使用DOM遍历,假设兄弟关系为常量:
var furtherInfo = function(el) {
var openInfo = el.nextElementSibling;
openInfo.style.display = openInfo.style.display == 'block' ? 'none' : 'block'
}
假设为HTML,例如:
<ul>
<li><div onClick="furtherInfo(this);">Info one</div>
<div id="test">Text for first info</div>
</li>
<li><div onClick="furtherInfo(this);">Info two</div>
<div>Text for second info</div>
</li>
<!-- and so on... -->
</ul>
- 信息一
第一信息文本
- 信息二
第二信息文本
.在这种情况下,您可以只使用DOM遍历,假设兄弟关系为常量:
var furtherInfo = function(el) {
var openInfo = el.nextElementSibling;
openInfo.style.display = openInfo.style.display == 'block' ? 'none' : 'block'
}
假设为HTML,例如:
<ul>
<li><div onClick="furtherInfo(this);">Info one</div>
<div id="test">Text for first info</div>
</li>
<li><div onClick="furtherInfo(this);">Info two</div>
<div>Text for second info</div>
</li>
<!-- and so on... -->
</ul>
- 信息一
第一信息文本
- 信息二
第二信息文本
.无论如何,为多个DOM元素提供相同的ID是非法的。无论如何,为多个DOM元素提供相同的ID是非法的。无论如何,为多个DOM元素提供相同的ID是非法的。无论如何,为多个DOM元素提供相同的ID是非法的。