将 jquery 插件应用到 dom 元素

发布于 2024-12-24 18:46:08 字数 412 浏览 1 评论 0原文

我将处理应用程序前端部分的所有 javascript 代码存储在 frontend.js 中。 如果此页面上不存在 dom 元素,但我尝试应用插件 javascript 抛出错误 示例:

$('#normalImage').Jcrop({
    setSelect:[ 0, 0, 48, 48 ],
    sideHandles:false,
    onChange:showPreview,
    onSelect:showPreview,
    aspectRatio:1
});

我找到了解决此问题的一个解决方案,即检查尺寸,

if($('#normalImage').size() > 0)
//apply plugin

但我不确定什么是正确的方法

I store all javascript code which deals frontend part of app in frontend.js.
If dom element does not exist on this page but i try apply plugin javascript throw error
Sample:

$('#normalImage').Jcrop({
    setSelect:[ 0, 0, 48, 48 ],
    sideHandles:false,
    onChange:showPreview,
    onSelect:showPreview,
    aspectRatio:1
});

I found one solution for this problem it's check size

if($('#normalImage').size() > 0)
//apply plugin

But i'm not sure what is right way

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

花开浅夏 2024-12-31 18:46:08

您可能正在处理一个糟糕的插件,因为插件的工作是在 jquery 选择器为空时不抛出错误。但在这种情况下,检查尺寸或长度是其工作的正确方法。

最好用这个:

var dom = $('#normalImage');
if(dom.length > 0) 
{
   dom.Jcrop({
      setSelect:[ 0, 0, 48, 48 ],
      sideHandles:false,
      onChange:showPreview,
      onSelect:showPreview,
      aspectRatio:1
   });
}

You're probably dealing with a bad plugin as it's the plugins job to not throw an error when the jquery selector is empty. But in this case checking the size or length is the correct way for it to work.

Best use this:

var dom = $('#normalImage');
if(dom.length > 0) 
{
   dom.Jcrop({
      setSelect:[ 0, 0, 48, 48 ],
      sideHandles:false,
      onChange:showPreview,
      onSelect:showPreview,
      aspectRatio:1
   });
}
思念满溢 2024-12-31 18:46:08

这是检查 .length 并将其与零进行比较以检查集合是否有任何元素的正确方法?

来自 jquery 站点:

.size() 方法在功能上等同于 .length 属性;
然而,.length 属性是首选,因为它没有
函数调用的开销。

It's the right way to check the .length and comapring it with zero to check if the collection has any element or not?

From jquery site:

The .size() method is functionally equivalent to the .length property;
however, the .length property is preferred because it does not have
the overhead of a function call.

若水微香 2024-12-31 18:46:08
if ($("#myelement").length > 0){
  // do something here
}
if ($("#myelement").length > 0){
  // do something here
}
痴情 2024-12-31 18:46:08

如果你想检查 dom 元素是否存在,你可以使用:

if ( $("#normalImage").length > 0 ) {
  //do something
}

If you want to check if a dom element exists you could use:

if ( $("#normalImage").length > 0 ) {
  //do something
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文