gpt4 book ai didi

javascript - 不明白为什么 alert 给我正确的结果,而函数不执行 javascript

转载 作者:行者123 更新时间:2023-11-30 07:21:18 24 4
gpt4 key购买 nike

我有三个按钮。这个想法是在单击 #1 时更改按钮 ID #11 和 #12 上的文本。

$(document).ready(function() {
var dict = {#1: ['#11', '#12']}

$('button').click(function () {
var k = dict['#'+$(this).attr('id')]

for (c in k){
var m = k[c]
$(m).button('it works')
}
})
});

现在的问题是:如果我调用 alert(m),我会得到正确的结果,但它不适用于 $(m).button('it works ')。知道为什么吗?

最佳答案

与您的代码相关的示例 HTML:

<button id="1">
Ohay
</button>

<button id="11">
hehe
</button>

<button id="12">
haha
</button>

正确的javascript:

$(document).ready(function() {
var dict = {'#1': ['#11', '#12']}

$('button').click(function () {
var k = dict['#'+$(this).attr('id')]
for (c = 0; c < k.length; c++){
var m = k[c]
$(m).text('it works')
}
})
});

据我所知,.button 原型(prototype)不是标准的 jQuery 原型(prototype),因此我可能怀疑您想改用 .text

此外,请注意您应该使用常规 for 来更改您的 for..in 循环(因为您循环的是一个数组,而不是一个 object), 尽管它会在特定情况下工作检查这个以供引用:why shouldn't I use for..in with arrays

工作 fiddle :

https://jsfiddle.net/gLnfo2h8/

关于javascript - 不明白为什么 alert 给我正确的结果,而函数不执行 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41576251/

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