gpt4 book ai didi

javascript - jQuery: "forbidden"用纯 Javascript 做什么

转载 作者:太空狗 更新时间:2023-10-29 13:47:45 28 4
gpt4 key购买 nike

一个 jQuery 最佳实践问题。

我正在编写一个 jQuery 密集型网页。我是 jQuery 的新手并注意到它的强大功能,但由于我拥有丰富的 javascript 经验和知识,我的问题是:应该在 jQuery 中做什么以及在普通 javascript 中做什么。

例如,有些回调将纯 DOM 对象作为参数发送。我应该使用它还是应该包装它(如 $(this))。

我做 this.x=y 还是 $(this).attr("x", y) 有关系吗?

最佳答案

如果您的函数接收一个 DOM 对象,并且您不需要该 DOM 对象的任何 jQuery 功能,则无需将其转换为 jQuery 对象。例如,如果您收到一个复选框对象,您可以在不使用任何 jQuery 的情况下检查 checked 属性。

但是,如果您需要从该复选框导航到不同的元素,那么转换它可能是值得的:

function yourCallback(cb) {
cb = $(cb);
var sel = $(cb).closest('td').next().find('select');
// For example, update the options in a neighboring select field
...
}

jQuery(和其他库一样)与原生 JS 顺利融合。如果您需要额外的功能,请扩充相关对象。

关于您的最后一个问题:您可能会发现 data 函数对于避免非标准 DOM 属性很有用。如果您问题中的属性 x 实际上是一个有效的 DOM 属性,您可以编写 this.x = y$(this).attr(' x', y),IMO 没关系。但是,如果 x 不是 DOM 属性,则使用

$(this).data('key', value)

这样,您可以使用 DOM 元素存储任意键值对,其中 value 可以是任意原始值或对象。

关于javascript - jQuery: "forbidden"用纯 Javascript 做什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2994600/

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