在纯 JavaScript 函数中使用 jQuery 语句

Using jQuery statements in plain javascript functions

本文关键字:jQuery 语句 JavaScript 函数 在纯      更新时间:2023-09-26

ready之外的纯JavaScript函数中使用jQuery语句是一个好的做法还是坏习惯?如果不是,正确的方法是什么?

//** End ready **//
function doSomething() {
    selectedClickBoxIndex = parseInt( jQuery('.' + clickBoxOnClass ).attr('value') );
    // Javascript code  
}

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

没有错。 jQuery只是一个Javascript库,它们之间没有严格的分离。

不过,您可能希望使用函数val

function doSomething() {
  selectedClickBoxIndex = parseInt( jQuery('.' + clickBoxOnClass ).val() );
  // Javascript code  
}

这是完全可以接受的;只要确保在 DOM 加载后调用这些函数,无论是从 document ready 还是从某个等效项。

这完全没有错。

你要确保的是,在

DOMReady 之前不会引用 DOM 节点。无论您使用$('.someClass')还是document.getElementsByClassName,都是如此。

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

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

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

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

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