Discuss / JavaScript / 交作业

交作业

Topic source

旺楠楠

#1 Created at ... [Delete] [Delete and Lock User]
var ul=$('#test-div>ul');
ul.append('<li><span>Pascal</span></li>');
ul.append('<li><span>Lua</span></li>');
ul.append('<li><span>Ruby</span></li>');
var texts=ul.find('span').map(function(){
            return $(this).text();
        }).get();
texts.sort();

ul.find('span').each(function(index){
            $(this).text(texts[index]);
        });
    var ul = $('#test-div>ul'); 
    //直接添加HTML片段
    ul.append('<li><span>Pascal</span></li>');
    ul.append('<li><span>Lua</span></li>');
    ul.append('<li><span>Ruby</span></li>');

    //按字母顺序排序节点
    var texts = ul.find('span').map(function () {
            return $(this).text();
    }).get(); //用get()拿到包含string的Array:['JavaScript', 'Python', 'Swift', 'Pascal', 'Lua', 'Ruby']

    texts.sort(); //将得到的Array排序。

    ul.find('span').each(function(index){  //each() 方法规定为每个匹配元素规定运行的函数。
        $(this).text(texts[index]);  //text() 方法方法设置或返回被选元素的文本内容。
    });

一雷叔一

#3 Created at ... [Delete] [Delete and Lock User]

return $(this).text();

请教下, 为啥这里的 this 需要加上 $() 呢?

this 指的span

国运zgy

#5 Created at ... [Delete] [Delete and Lock User]

里面的this表示dom元素,不是jQuery对象,不能调用jQuery的方法,可以通过$(this)转换为jQuery之后就可以调用jQuery的方法text()了


  • 1

Reply