【问题标题】:Object doesn't support property or method 'test'对象不支持属性或方法“测试”
【发布时间】:2015-02-12 13:03:22
【问题描述】:

我正在创建 jquery 插件。在 Firefox、chrome 和 safari 浏览器中一切正常,但在 IE8 中我收到此错误:- 对象不支持属性或方法'test' 这是我的代码:-

 (function ($) {
        $.fn.test = function (options) {

            return this.each(function () {
                $(this).wrap('<div/>', { class: 'test' })
            });
        }
    })(jQuery);

我正在使用这个:-

$(function () {
        $('.sss').test();
    });

请帮忙。 谢谢你的帮助

【问题讨论】:

  • 换个名字试试?
  • @FrebinFrancis 不,我试过没用
  • 你把你的脚本放在页面的什么地方?
  • 确保您的第一个脚本在第二个脚本之前执行
  • 除了应该没问题 - jsfiddle.net/arunpjohny/6spn6vu2/1 - 还要注意将类分配给wrap 的方式不起作用,小提琴

标签: javascript jquery internet-explorer


【解决方案1】:

请确保在调用方法之前放置插件脚本

 <div class="content" style="width:500px; height:500px; background:#ccc;">
        <div class="f-menu">asdasdasd</div>
        <div class="d-menu">
            <ul>
                <li><a href="#">about</a></li>
                <li><a href="#">projects</a></li>
                <li><a href="#">help</a></li>
            </ul>
        </div>

    </div>

    <script type="text/javascript" src="~/Scripts/jquery-1.10.2.js"></script>
    <script type="text/javascript">

        $.fn.test = function (options) {               
            return this.each(function () {
                $(this).wrap('<div/>', { class: 'test' })
            });
        }

        $(document).ready(function () {
            $("yourdiv").test({});
        });

    </script>

这对我有用
希望这会有所帮助。

【讨论】:

  • 我看到您删除了带有分号的警报功能。现在您进行了更改,这仍然有效吗?
  • 这并不是真正需要的,因为插件定义不在 dom 就绪处理程序中。即使插件定义在放置插件初始化的 dom 就绪处理程序之后,它也可以工作
猜你喜欢
  • 1970-01-01
  • 2019-07-05
  • 2015-04-14
  • 2020-09-03
  • 2015-04-09
  • 2014-01-12
  • 2016-08-20
  • 2013-10-05
  • 1970-01-01
相关资源
最近更新 更多