创建一个新的 xiyueta 对象,将元素添加到匹配的元素集中
xiyueta().add()属性方法,一种调用方式:
1、xiyueta("p").add("div"); //创建一个新的 xiyueta 对象,将元素添加到匹配的元素集中
总结:xiyueta().add()用法与jQuery中jQuery().add()用法保持一致,xiyueta().add()方法如果参数值是数字类型如123,布尔如true或函数在jQuery里会加上这个数字或布尔或documen,在xiyueta里不会在数组里加上数字或布尔的,因为没有意义,在处理的时候也不能处理。
see https://api.jquery.com/add
尝试一下>>
<script src="https://www.xiyueta.com/js/xiyueta.min.js"></script> <script>
var html = '<div>xiyueta.com</div><span></span>'; $.load(html); $.log($("div").add("span").length); $.log($("div").add("div").length); $.log($("div").add($("div")).length); $.log($("div").add(1).length); // $.log($("div").parse("<span></span><span></span><span></span>").add("span").length);//解析html后获得元素文本 简单快速方法
</script>
2
1
1
1
例子1:
查找所有div并制作边框。然后将所有段落添加到xiyueta对象以将其背景设置为黄色。(引用jQuery例子)
查看效果>>
<script src="https://www.xiyueta.com/js/xiyueta.min.js"></script> <script>
var html = [ '<style>', ' div {', ' width: 60px;', ' height: 60px;', ' margin: 10px;', ' float: left;', ' }', ' p {', ' clear: left;', ' font-weight: bold;', ' font-size: 16px;', ' color: blue;', ' margin: 0 10px;', ' padding: 2px;', ' }', ' </style> ', '', '<div></div>', '<div></div>', '<div></div>', '<div></div>', '<div></div>', '<div></div>', ' ', '<p>Added this... (notice no border)</p>' ].join("\n"); xiyueta.load(html); $( "div" ).css( "border", "2px solid red" ) .add( "p" ) .css( "background", "yellow" ); $.log(xiyueta.html()) document.write(xiyueta.html())
</script>
例子2:
将给定表达式匹配的更多元素添加到匹配元素集。
(引用jQuery例子)
查看效果>>
<script src="https://www.xiyueta.com/js/xiyueta.min.js"></script> <script>
var html = [ '<p>Hello</p>', '<span>Hello Again</span>' ].join("\n"); xiyueta.load(html); $("p").add("span").css("background", "yellow"); $.log(xiyueta.html()) document.write(xiyueta.html())
</script>
详细演示jquery().add()的.add()属性方法与xiyueta().add()的.add()属性方法的效果。
通过给.add()传不同类型的值来测试.add()属性在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("- xiyueta.com
")
jQueryAndxiyuetaDebug('jQuery("li:eq(0)").add(jQuery("li:eq(0)")).length');
jQueryAndxiyuetaDebug('jQuery("li:eq(0)").add().length');
jQueryAndxiyuetaDebug('jQuery("li:eq(0)").add("").length');
jQueryAndxiyuetaDebug('jQuery("li:eq(0)").add(" ul ").length');
jQueryAndxiyuetaDebug('jQuery("li:eq(0)").add("ul").length');
jQueryAndxiyuetaDebug('jQuery("li:eq(0)").add(1).length');
jQueryAndxiyuetaDebug('jQuery("li:eq(0)").add(123).length');
jQueryAndxiyuetaDebug('jQuery("li:eq(0)").add(313801120).length');
jQueryAndxiyuetaDebug('jQuery("li:eq(0)").add(null).length');
jQueryAndxiyuetaDebug('jQuery("li:eq(0)").add(undefined).length');
jQueryAndxiyuetaDebug('jQuery("li:eq(0)").add(fun()).length');
jQueryAndxiyuetaDebug('jQuery("li:eq(0)").add("a").length');
jQueryAndxiyuetaDebug('jQuery("li:eq(0)").add(false).length');
jQueryAndxiyuetaDebug('jQuery("li:eq(0)").add(true).length');
jQueryAndxiyuetaDebug('jQuery("li:eq(0)").add(1.1).length');
jQueryAndxiyuetaDebug('jQuery("li:eq(0)").add([1,2,3,4,5,6]).length');
jQueryAndxiyuetaDebug('jQuery("li:eq(0)").add({"a":1,"b":2,"c":3}).length');
jQueryAndxiyuetaDebug('jQuery("li:eq(0)").add(NaN).length');
jQueryAndxiyuetaDebug('jQuery("li:eq(0)").add(Infinity ).length');
jQueryAndxiyuetaDebug('jQuery("li:eq(0)").add(function(){}).length');
jQueryAndxiyuetaDebug('jQuery("li:eq(0)").add(funtrue()).length');
jQueryAndxiyuetaDebug('jQuery("li:eq(0)").add(funfalse()).length');
jQueryAndxiyuetaDebug('jQuery("li:eq(0)").add(funstr()).length');
jQueryAndxiyuetaDebug('jQuery("li:eq(0)").add(funnumb()).length');
jQueryAndxiyuetaDebug('jQuery("li:eq(0)").add(funarray()).length');
jQueryAndxiyuetaDebug('jQuery("li:eq(0)").add(funobj()).length');
jQueryAndxiyuetaDebug('jQuery("li:eq(0)").add([]).length');
jQueryAndxiyuetaDebug('jQuery("li:eq(0)").add({}).length');
jQueryAndxiyuetaDebug('jQuery("li:eq(0)").add( 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>