jQuery element.closest(...)。attr不是一个函数

时间:2017-06-17 09:04:04

标签: javascript jquery joomla

这个脚本运行正常,直到我将Joomla 2.5更新为3.7,php5.6更新为php7,http更新为https(SSL中的站点)。正确调用Jquery。 我不知道哪些更新正在影响脚本,但我相信这是因为我更新到php7:

grade_system_json

当我试图运行它时,我收到了这个错误:

  

TypeError:$(...)。nearest(...)。find不是函数

这是html:

$(function(){
    $('.thumbs img').mouseenter(function(){
        var $bigImage = $(this).closest('.annonces').find('.bigimage');
        $bigImage.attr('src',$(this).attr('src').replace('180__','600__'));    
    });
});

3 个答案:

答案 0 :(得分:0)

不确定,但如果您尝试获取的$(this)超出$(document)范围,则可以尝试将.bigimage替换为.thumbs img。< / p>

对于&#34; htmls&#34;是什么意思?您可以添加您尝试使用的文档的来源吗?

答案 1 :(得分:0)

我在我的系统中做了html结构的演示。我认为你在html代码的结构上有问题。 看看我做的结构:

<div class="thumbs">
    <div class="img">
        <div class="annonces">
            <div class="photosbig">
                <div class="annoncephoto1" >
                    <img class="bigimage" src="image/logo180__.png" />
                </div>
            </div>
        </div>
    </div>
</div>

从上述结构中注意到,带有类&#39; thumb&#39;的div有一个班级与班级&#39; img&#39;在课前与班级#annceces&#39;等等... 如果结构不是这样的,那么你的代码将无效。

答案 2 :(得分:0)

Andreas 建议的补充研究帮助了我。尽管看起来jquery库是在其他库之后加载的,但似乎与'$'符号存在冲突。我将'$'替换为'jQuery',它的功能是:

INSERT INTO `answers`(`answer_id`, `answer_question_id`, `answer`) VALUES (NULL,45,2),(NULL,46,2),(NULL,47,11),(NULL,48,6);
INSERT INTO `answers`(`answer_id`, `answer_question_id`, `answer`) VALUES (NULL,45,2),(NULL,46,2),(NULL,47,11),(NULL,48,6);

感谢您对所有人的帮助。