gpt4 book ai didi

javascript - 无法在 jQuery 中获取属性、句点

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

我只是想选择这些特定“边”的 ID。我已经做了一百万次了,但 jQuery 只是不想与我合作。

$( 'input[name="fd-border"]' ).change(function() {
var border = [];
var sides = $( 'input[name="fd-border"]' );
var length = sides.length;
if ( length == 0 ) {
border = [ 'top', 'bottom', 'left', 'right' ];
} else {
for ( i = 0; i < length; ++i ) {
border.push( sides[i].val() );
}
}

上述查询返回以下数组:

[
<input type=​"checkbox" id=​"fd-border-top" name=​"fd-border" value=​"top" class=​"ui-helper-hidden-accessible">​,
<input type=​"checkbox" id=​"fd-border-bottom" name=​"fd-border" value=​"bottom" class=​"ui-helper-hidden-accessible">​,
<input type=​"checkbox" id=​"fd-border-left" name=​"fd-border" value=​"left" class=​"ui-helper-hidden-accessible">​,
<input type=​"checkbox" id=​"fd-border-right" name=​"fd-border" value=​"right" class=​"ui-helper-hidden-accessible">​
]

我一直收到 TypeError: 'undefined' is not a function (evaluating 'sides[i].val()')。无论我想使用 .val() 还是 .attr( 'id' ) 或与此相关的任何属性都没有关系。我得到同样的错误,它只发生在这里。知道为什么吗?

最佳答案

你需要使用

border.push( $(sides[i]).val() );

因为 sides[i] 给出了一个 dom 引用,它没有像 .val().attr() 这样的方法,你需要用$(sides[i])

包装得到对应的jQuery对象

我可以使用 .map() 代替 for 循环

border = sides.map(function(idx, el){
return $(el).val()
})

关于javascript - 无法在 jQuery 中获取属性、句点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17057009/

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