【问题标题】:Click event based on eq() selection基于 eq() 选择的点击事件
【发布时间】:2015-09-09 15:20:55
【问题描述】:

我正在尝试根据我使用eq() 获得的元素触发点击事件。

我有三个具有相同类名的元素:ag-list-item。

<!-- item one -->
<div ag-repeat="" class="ag-list-item ag-not-dragging">
    <span>
        <span class="ag-visible-icons">
        </span>

        <span>Avg. Yield (bu/ac)</span>
    </span>
</div>
<!-- /item one -->

<!-- item two -->
<div ag-repeat="" class="ag-list-item ag-not-dragging">
    <span>
        <span class="ag-visible-icons">
        </span>

        <span>Total Average</span>
    </span>
</div>
<!-- /item two -->

<!-- item three -->
<div ag-repeat="" class="ag-list-item ag-not-dragging">
    <span>
        <span class="ag-visible-icons">
        </span>

        <span>Crop Type</span>
    </span>
</div>
<!-- /item three --> 

我正在尝试在特定 ag-list-item 元素的嵌套 span 元素上触发点击事件。我使用 :first 来点击第一个,但想定位到特定的索引(即第一、第二、第三等)

// click all with .ag-list-item class
$('.ag-list-item span span').click()

// click first item in set
$('.ag-list-item:first span span').click()

// try to only click the second item in the set

// get second
var el = $('.ag-list-item').children('span span').eq(2);

// click second item in set
$(el).click();

请帮忙!

【问题讨论】:

  • 您的问题在这里不清楚。代码$(el).click(); 不适合您吗?您能否在jsFiddle 上发布一个说明您的问题的功能示例。
  • 你想$('.ag-list-item').eq(2).children('span span')吗?
  • FWIW; .eq()构造了一个新的jQuery对象,所以不用包装el,它已经是一个jQuery对象了。

标签: javascript jquery html javascript-events


【解决方案1】:

.eq(2) 将提供第三项,因为这里(以及大多数计算机编程世界)中的索引都是从零开始的。你可能想要.eq(1)。

另外,.eq() 的目的是避免需要再次将结果重新包装到 jQuery 对象中。

我猜,看着这个,您正在寻找“第二个”列表项,并且您希望其中的所有跨度都获得点击处理程序?

// get second
var $el = $('.ag-list-item').eq(1);

// click second item in set
$el.children('span span').click();

【讨论】:

    猜你喜欢
    • 2012-07-08
    • 1970-01-01
    • 2011-03-08
    • 1970-01-01
    • 2013-01-30
    • 1970-01-01
    • 2019-08-10
    • 2011-08-09
    • 2018-07-23
    相关资源
    最近更新 更多