我基本上构建一个简单的列表,并选择列表中的一个项目.我通过将"选定"类应用于我想要选择的任何项目来完成此操作.我有两个前进和后退的按钮遍历此列表.但是,当用户到达列表中的第一个或最后一个元素时,我想回复一个帖子.这就是我被困住的地方,因为我无法确定当前所选项目不是第一个或最后一个.
简单示例:
<div id="list">
<p>item 1</p>
<p>item 2</p>
<p class="selected">item 3</p>
</div>
Run Code Online (Sandbox Code Playgroud)
假设用户按下下一个按钮,此时我正在检查类似于此的内容:
if (jQuery('#list p.selected') == jQuery('#list p:last-child'))
//do post back
Run Code Online (Sandbox Code Playgroud)
然而,这种逻辑正在返回虚假,这使我相信我正以错误的方式接近这一点.
使用jQuery检查这种逻辑的最佳方法是什么?
use*_*291 38
虽然您可以比较Matt显示的jquery对象,或者只是使用索引运算符
if($("#list p.selected")[0] == $("#list p:last-child")[0])...
Run Code Online (Sandbox Code Playgroud)
这是jQuery很少需要的.有 是一个更好的办法!
if($("#list p.selected").is(":last-child"))....
Run Code Online (Sandbox Code Playgroud)
或者相反,更具可读性
if($("#list p:last-child").is(".selected"))....
Run Code Online (Sandbox Code Playgroud)
jQuery是一个对象,所以你在技术上比较两个不同(但相似)的对象,这些对象总是错误的.
尝试:
if (jQuery('#list p.selected').get(0) == jQuery('#list p:last-child').get(0))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11460 次 |
| 最近记录: |