JQ jQ对象的map方法

jQ对象的map方法内部 this 绑定的是Dom对象 不是jQ对象, 所以Dom的属性方法 可以正常使用 但是Jq 全部不行,

但是可以把 this封装成jQ对象 方法: $(this)  类似的还有each filter

eg:



<div id="test-div">
    <ul>
        <li><span>JavaScriptspan>li>
        <li><span>Pythonspan>li>
        <li><span>Swiftspan>li>
    ul>
div>

<script type="text/javascript">

    $(function () {
        "use strict";

        var lang = ['Pascal', 'Lua', 'Ruby'];
        var ele_li = $("#test-div > ul > li");
        var ele_ul = $("#test-div > ul");

        // all language
        ele_li.map(function () {
            // ******这里是没有this.text()            lang.push(this.innerText);
        });

        // del old element
        ele_li.remove();

        // sort language then append new element
        lang.sort().map(function (element) {
            var ele_new = "
  • " + element + "
  • "
    ; ele_ul.append(ele_new); }); }); script>

    你可能感兴趣的:(web)