-

xiyueta().not() 属性方法

从匹配的元素集中删除元素
快速上手

xiyueta().not()属性方法,一种调用方式:
1、xiyueta("p").not("div"); //从匹配的元素集中删除元素

总结:xiyueta().not()用法与jQuery中jQuery().not()用法保持一致,xiyueta().not()方法如果参数值是数字类型如123,布尔如true或函数在jQuery里会加上这个数字或布尔或documen,在xiyueta里不会在数组里加上数字或布尔的,因为没有意义,在处理的时候也不能处理。
see https://api.jquery.com/not
尝试一下>>

  • 代码
  • 效果
<script src="https://www.xiyueta.com/js/xiyueta.min.js"></script>
<script>var html='<div>xiyueta.com</div><span></span>';
$.load(html); //解析html 

$.log($("div,span").length);
$.log($("div,span").not("p").length);
$.log($("div,span").not("span").length);

</script>
2
2
1


例子1:
为非绿色或蓝色的div添加边框。(引用jQuery例子)
查看效果>>

  • 代码
<script src="https://www.xiyueta.com/js/xiyueta.min.js"></script>
<script>
var html = [
    '<style>',
    '  div {',
    '    width: 50px;',
    '    height: 50px;',
    '    margin: 10px;',
    '    float: left;',
    '    background: yellow;',
    '    border: 2px solid white;',
    '  }',
    '  .green {',
    '    background: #8f8;',
    '  }',
    '  .gray {',
    '    background: #ccc;',
    '  }',
    '  #blueone {',
    '    background: #99f;',
    '  }',
    '  </style>',
    '<div></div>',
    '<div id="blueone"></div>',
    '<div></div>',
    '<div class="green"></div>',
    '<div class="green"></div>',
    '<div class="gray"></div>',
    '<div></div>'
].join("\n");
xiyueta.load(html)

document.write(xiyueta.html()) 
  
$( "div" ).not( ".green, #blueone" )
  .css( "border-color", "red" ); 
 


$.log(xiyueta.html())  
document.write(xiyueta.html())

</script>


详细说明

详细演示jquery().not()的.not()属性方法与xiyueta().not()的.not()属性方法的效果。
通过给.not()传不同类型的值来测试.not()属性在jquery里和xiyueta里的效果是否一样。
传值类型有字符,数字,数组,对象,函数等。
查看效果>>

  • 代码
 
<script src="https://www.xiyueta.com/js/xiyueta.min.js"></script>
<script src="https://www.xiyueta.com/js/jquery.js"></script>

    <ul>
        <li>xiyueta.com</li> 
    </ul>
    <script type="text/javascript">  
    var c ="";
    var id=0;//编号
    var fun=function(n){
        if(n==undefined)n=1;
        return n;
    }    
    var funtrue=function(){
        return true;
    }    
    var funfalse=function(){
        return false;
    }
    var funstr=function(){
        return "str";
    }
    var funnumb=function(){
        return 123;
    }
    var funarray=function(){
        return [1,2,"a",false,true];
    }
    var funobj=function(){
        return {"a":"11","bb":"22","ccc":"333"};
    }

    xiyueta.load("<ul><li>xiyueta.com</li></ul>")

    jQueryAndxiyuetaDebug('jQuery("ul").not().length');
    jQueryAndxiyuetaDebug('jQuery("ul").not(jQuery("ul")).length');
    jQueryAndxiyuetaDebug('jQuery("ul").not("").length');
    jQueryAndxiyuetaDebug('jQuery("ul").not("li").length');
    jQueryAndxiyuetaDebug('jQuery("ul").not(1).length');
    jQueryAndxiyuetaDebug('jQuery("ul").not(123).length');
    jQueryAndxiyuetaDebug('jQuery("ul").not(313801120).length');
    jQueryAndxiyuetaDebug('jQuery("ul").not(null).length'); 
    jQueryAndxiyuetaDebug('jQuery("ul").not(undefined).length'); 
    jQueryAndxiyuetaDebug('jQuery("ul").not(fun()).length');
    jQueryAndxiyuetaDebug('jQuery("ul").not("a").length');
    jQueryAndxiyuetaDebug('jQuery("ul").not(false).length');
    jQueryAndxiyuetaDebug('jQuery("ul").not(true).length');
    jQueryAndxiyuetaDebug('jQuery("ul").not(1.1).length');
    jQueryAndxiyuetaDebug('jQuery("ul").not([1,2,3,4,5,6]).length');
    jQueryAndxiyuetaDebug('jQuery("ul").not({"a":1,"b":2,"c":3}).length');
    jQueryAndxiyuetaDebug('jQuery("ul").not(NaN).length');
    jQueryAndxiyuetaDebug('jQuery("ul").not(Infinity ).length');
    jQueryAndxiyuetaDebug('jQuery("ul").not(function(){}).length');


    jQueryAndxiyuetaDebug('jQuery("ul").not(funtrue()).length');
    jQueryAndxiyuetaDebug('jQuery("ul").not(funfalse()).length');
    jQueryAndxiyuetaDebug('jQuery("ul").not(funstr()).length');
    jQueryAndxiyuetaDebug('jQuery("ul").not(funnumb()).length');
    jQueryAndxiyuetaDebug('jQuery("ul").not(funarray()).length');
    jQueryAndxiyuetaDebug('jQuery("ul").not(funobj()).length');


    jQueryAndxiyuetaDebug('jQuery("ul").not([]).length');
    jQueryAndxiyuetaDebug('jQuery("ul").not({}).length');
    jQueryAndxiyuetaDebug('jQuery("ul").not( 100n ).length');//在asp版不行 
 

    function jQueryAndxiyuetaDebug(js) {
        var jsXiyueta=js.replace(/jQuery/g,"xiyueta")
        var s1=jsEv(js)
        var s2=jsEv(jsXiyueta)
        id++
        xiyueta.log(id,js,s1,jsXiyueta,s2,(s1==s2))
        console.log(id,js,s1,jsXiyueta,s2,(s1==s2))
    }
    function jsEv(js) {
        var s = eval(js);
        var deyu = "";
        if (typeof s == 'string') {
            s = s.replace(/\n/g, '\\n');
            deyu = "'" + s + "'";
        } else if (typeof s == "object") {
            deyu = "'" + s + "'";
        }else{
            deyu=s+""
        }
        if(deyu=="")deyu="''"; 
        return deyu; 
    } 

</script>