6

在ready之外的普通javascript函数中使用jQuery语句是好还是坏?如果不是正确的方法是什么?

//** End ready **//

function doSomething() {
    selectedClickBoxIndex = parseInt( jQuery('.' + clickBoxOnClass ).attr('value') );

    // Javascript code  
}
4

7 回答 7

5

没有什么不对。当您包含 jquery 文件时,您正在扩展您的功能,可以在任何您想要的地方自由使用

于 2012-04-23T13:24:17.137 回答
3

没有什么不妥。jQuery 只是一个 Javascript 库,它们之间没有严格的区分。

不过,您可能想使用该功能val

function doSomething() {
  selectedClickBoxIndex = parseInt( jQuery('.' + clickBoxOnClass ).val() );

  // Javascript code  
}
于 2012-04-23T13:25:57.720 回答
2

这是完全可以接受的;只需确保在 DOM 加载后调用这些函数,无论是从文档准备好还是其他等效函数。

于 2012-04-23T13:24:27.830 回答
2

这一点都没有错。

您要确保在 DOMReady 之前没有对 DOM 节点的引用。无论您使用$('.someClass')还是document.getElementsByClassName.

您的函数确实进行了这样的引用,但是只要在 DOMReady 之前不调用函数本身就可以了。

于 2012-04-23T13:24:36.437 回答
2

没有理由不在 document.ready 之外使用它。它使遍历和修改 dom 变得更加容易。

通过许多有用的 jquery 选择器抓取页面上的元素的能力是在其他地方使用它的充分理由。

于 2012-04-23T13:25:34.183 回答
2

只要在 onLoad 事件之后触发函数 doSomething() ,就完全可以这样做。$(document).ready 只是将 JS 执行推迟到页面完全加载的一种方式。

于 2012-04-23T13:28:38.380 回答
1

为什么不这样会减少代码行,并且 jquery 与所有浏览器兼容

于 2012-04-23T13:24:03.157 回答