在php while循环中,我得到了这种类型的数据,当我点击li时,id =" test1"然后隐藏那个id =" test1"并显示li其中id =" new_test1" 我想要特别的ul意味着我点击" li"然后对存在该li的特定ul进行处理。
<ul id="cpvote">
<li id="test1">Message 1</span></li>
<li id="test2">Message 2</li>
<li id="test3">Message 3</li>
<li id="new_test1" style="display:none">Message 4</li>
<li id="new_test2" style="display:none">Message 5</li>
</ul>
<ul id="cpvote">
<li id="test1">Message 1</span></li>
<li id="test2">Message 2</li>
<li id="test3">Message 3</li>
<li id="new_test1" style="display:none">Message 4</li>
<li id="new_test2" style="display:none">Message 5</li>
</ul>
<ul id="cpvote">
<li id="test1">Message 1</span></li>
<li id="test2">Message 2</li>
<li id="test3">Message 3</li>
<li id="new_test1" style="display:none">Message 4</li>
<li id="new_test2" style="display:none">Message 5</li>
</ul>
答案 0 :(得分:1)
ID必须是唯一的。但是您可以多次使用类。
使用class selector。以下只是使用类选择器
实现所需结果的示例HTML :
<ul class="cpvote">
<li class="test1">Message 1</li>
<li class="new_test1" style="display:none">Message 4</li>
</ul>
<ul class="cpvote">
<li class="test1">Message 1</li>
<li class="new_test1" style="display:none">Message 4</li>
</ul>
<ul class="cpvote">
<li class="test1">Message 1</li>
<li class="new_test1" style="display:none">Message 4</li>
</ul>
脚本:
$(document).ready(function () {
$(document).on('click', '.cpvote .test1', function () {
$(this).closest('.cpvote').find('.new_test1').toggle();
});
});
答案 1 :(得分:0)
尝试这样做。
使用Jquery制作UL Unique Identified
$( document ).ready(function() {
// putting extra unique attributes in UL to Identified.
$("UL").each(function(i){
$("UL").eq(i).attr('ul-id','ul-'+i);
});
$("UL").each(function(i){
$("UL[ul-id='ul-"+i+"']").find("LI").on("click",function(){
$("UL[ul-id='ul-"+i+"']").find("#new_"+$(this).attr('id')).show();
});
});
});
DEMO:http://jsfiddle.net