简体   繁体   English

ReferenceError: $$ is not defined jQuery 错误?

[英]ReferenceError: $$ is not defined jQuery error?

Here is a simple example of a group of divs that can be sorted either by their HTML content or by custom attribute values:下面是一组 div 的简单示例,可以按其 HTML 内容或自定义属性值对其进行排序:

Sort alphabetically by HTML content按字母顺序排序 HTML 内容

Sort low to high by the value of the attribute "sortweight"HTML:按属性“sortweight”HTML 的值从低到高排序:

I have tried following code and got error我尝试了以下代码并出现错误

ReferenceError: $$ is not defined ReferenceError: $$ 未定义

HTML HTML

<div id="sortexample">
    <div class="sortitem" sortweight="5">Pears [sortweight: 5]</div>
    <div class="sortitem" sortweight="3">Apples [sortweight: 3]</div>
    <div class="sortitem" sortweight="1">Cherries [sortweight: 1]</div>
    <div class="sortitem" sortweight="4">Oranges [sortweight: 4]</div>
    <div class="sortitem" sortweight="2">Strawberries [sortweight: 2]</div>
</div>
        

            

JavaScript: JavaScript:

// sort all divs with classname 'sortitem' by html content
function sort_div_content() {
    // copy all divs into array and destroy them in the page
    divsbucket = new Array();
    divslist = $$('div.sortitem');
    for (a=0;a<divslist.length;a++) {
        divsbucket[a] = divslist[a].dispose();
    }

    // sort array by HTML content of divs
    divsbucket.sort(function(a, b) {
        if (a.innerHTML.toLowerCase() === b.innerHTML.toLowerCase()) {
            return 0;
        }
        if (a.innerHTML.toLowerCase() > b.innerHTML.toLowerCase()) {
            return 1;
        } else {
            return -1;
        }
    });

    // re-inject sorted divs into page
    for (a=0;a<divslist.length;a++) {
        divsbucket[a].inject($('sortexample'));
    }
}

// sort by attributes - usage for our example: sort_div_attribute('sortweight');
function sort_div_attribute(attname) {
    // copy all divs into array and destroy them in the page
    divsbucket = new Array();
    divslist = $$('div.sortitem');
    for (a=0;a<divslist.length;a++) {
        divsbucket[a] = new Array();
        // we'vev passed in the name of the attribute to sort by
        divsbucket[a][0] = divslist[a].get(attname);
        divsbucket[a][1] = divslist[a].dispose();
    }

    // sort array by sort attribute content
    divsbucket.sort(function(a, b) {
        if (a[0].toLowerCase() === b[0].toLowerCase()) {
            return 0;
        }
        if (a[0].toLowerCase() > b[0].toLowerCase()) {
            return 1;
        } else {
            return -1;
        }
    });

    // re-inject sorted divs into page
    for (a=0;a<divslist.length;a++) {
        divsbucket[a][1].inject($('sortexample'));
    }
}

I dont know why i got this error我不知道为什么会出现此错误

On the fifth line, it says divslist = $$('div.sortitem');在第五行,它说divslist = $$('div.sortitem'); , but $$ is not defined. ,但 $$ 未定义。 You have to use $ instead of $$.您必须使用 $ 而不是 $$。

divslist = $('div.sortitem'); This would be better这样会更好

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM