gpt4 book ai didi

javascript - 断言所有复选框都被选中

转载 作者:行者123 更新时间:2023-11-30 08:02:43 25 4
gpt4 key购买 nike

我有 5 个具有相同名称属性 relative-view 的复选框。

我想断言所有这些都已检查。我可以这样做来检查第一个和最后一个

expect(element.find('input[name="relative-view"]').first().prop("checked")).toBe(true);
expect(element.find('input[name="relative-view"]').last().prop("checked")).toBe(true);

但我不知道如何检查它们。我已经尝试了以下但我得到一个错误说 undefined is not a function

expect(element.find('input[name="relative-view"]')[0].prop("checked")).toBe(true);
expect(element.find('input[name="relative-view"]')[1].prop("checked")).toBe(true);
expect(element.find('input[name="relative-view"]')[2].prop("checked")).toBe(true);
expect(element.find('input[name="relative-view"]')[3].prop("checked")).toBe(true);
expect(element.find('input[name="relative-view"]')[4].prop("checked")).toBe(true);

我该怎么做?

最佳答案

[n] 表示法返回没有 .prop() 的 DOM 元素——这就是 jQuery API。使用 .eq():

var boxes = element.find('input[name="relative-view"]');

expect(boxes.eq(0).prop("checked")).toBe(true);
expect(boxes.eq(1).prop("checked")).toBe(true);
expect(boxes.eq(2).prop("checked")).toBe(true);
expect(boxes.eq(3).prop("checked")).toBe(true);
expect(boxes.eq(4).prop("checked")).toBe(true);

另一种方法是使用标准的 .checked 属性:

var boxes = element.find('input[name="relative-view"]').get();

expect(boxes[0].checked).toBe(true);
expect(boxes[1].checked).toBe(true);
expect(boxes[2].checked).toBe(true);
expect(boxes[3].checked).toBe(true);
expect(boxes[4].checked).toBe(true);

另外,尝试遍历 jQuery 集合:

$('input[name="relative-view"]', element).each(function () {
expect(this.checked).toBe(true);
});

关于javascript - 断言所有复选框都被选中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24105534/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com