使用 .next() 遍历列表项的问题

Posted

技术标签:

【中文标题】使用 .next() 遍历列表项的问题【英文标题】:problem in traversing across list items using .next() 【发布时间】:2011-04-16 19:33:07 【问题描述】:

您好,我显示带有 ajax 返回结果的框,其中包含 1 到 4 个列表元素

按下向下箭头时,我正在为下一个列表项设置彩色边框。我尝试使用 '.next()' 。发生的事情是,当我按下箭头时,除了第一个元素之外的所有元素都会突出显示 我做不到。帮帮我

$('.input_for_chain_and_target').keyup(function()data_fr_chain_and_target(this.id););
$('.input_for_chain_and_target').bind('keydown',controlling_with_nav_keys);



function controlling_with_nav_keys(event)
var keycode = (event.keyCode ? event.keyCode : event.which);
if(keycode==40)//alert('down');
    $('.target_frnd_content').next().css('border','2px dashed #6698FF');

else if(keycode==38)
    $('.target_frnd_content').prev().css('border','2px dashed #6698FF');

我尝试粘贴它,但由于 php 代码生成 html,它被扭曲了

这是大概的副本

<li style='border:1px solid #F4F3F0;' class='target_frnd_content' id=\"$target_frnd_content_id\">
$usr_img $usr_namex (附加信息)

【问题讨论】:

你能提供一份包含列表的 HTML 代码吗? 我会使用 Firebug 并在此处复制输出的 HTML 代码。您在上面发布的内容没有帮助。 【参考方案1】:

好的,我明白了。基本上你是通过它的类名“target_frnd_content”来选择项目,我相信你会给其余的项目提供相同的类名,这就是为什么它选择所有下一个项目,因为每个项目都有相同的类名。您必须唯一标识每个列表项,可能通过为每个列表项添加一个 id 属性。你还能做的是这样的:

<ul class="some_list">
  <li class="current">Item one</li>
  <li>Item two</li>
  <li>Item three</li>
</ul>

然后在javascript中你会说:

var current = $('li.current');
current.removeClass('current').next().addClass('current');

现在您可以在 css 文件中为当前类设置任何您想要的样式,例如:

li.currentborder: 2px dashed #6698FF;

【讨论】:

【参考方案2】:

请提供您的 html 代码,next() 绝对应该选择下一个列表项。您选择的列表是否正确

项目使用它的类名 (.target_frnd_content)?

【讨论】:

li项的ya类名是'target_frnd_content'【参考方案3】:

好吧,我想问题出在这里:

$('.target_frnd_content').next().css('border','2px dashed #6698FF');

应该是:

$('.target_frnd_content').next().css('border':'2px dashed #6698FF');

请记住,在添加任何样式时,您必须将 JSON 对象传递给 css() 方法。希望对您有所帮助。

【讨论】:

即使现在我得到相同的结果 我尝试使用 '.hide' 而不是 .css 进行检查。它只适用于第一个元素以下的所有元素【参考方案4】:

试试:

$('.target_frnd_content').next().css('border-width','2px', 'border-style': 'dashed', 'border-color': '#6698FF');

【讨论】:

以上是关于使用 .next() 遍历列表项的问题的主要内容,如果未能解决你的问题,请参考以下文章

更好/更快地循环遍历集合或列表?

DEDECMS列表模板使用分页,不显示分页效果

从单链表中删除最后一个节点

遍历Python列表中的项目对[重复]

遍历 C 指针列表:奇怪的 printf 行为

Listview builder 创建列表项的副本