nextSibling:返回元素节点之后的兄弟节点(包括文本节点、注释节点即回车、换行、空格、文本等等)
nextElementSibling:只返回元素节点之后的兄弟元素节点(不包括文本节点、注释节点)
previousSibling:前一个同胞节点
示例:
//初始化
$(function(){
$("#rads + button").click(function () {
for(var key in radioData) {//循环radioData
$("#rads input").eq(key).val(radioData[key].id);//将radioData的ID赋值给input的value值
$(".jqTransformRadioWrapper")[key].nextSibling.nodeValue = radioData[key].name;//将$(".jqTransformRadioWrapper")[key]后面的文本替换成radioData[key].name
}
});
});
radioData:
var radioData = [
{id:"1",name:"紧急"},
{id:"2",name:"重要"},
{id:"3",name:"普通"},
{id:"4",name:"一般"}
];
以上两个代码段分属同一文件夹下的不同js,可以在另一个js里面直接调用radioData的值
radio和CheckBox等获取选中内容,使用.checked:
//显示选中内容
$(function () {
$("#rads + button + button").click(function () {
//var radios = document.getElementsByName("question");
var radios = $("#rads input[name=question]");//获取所有的input节点
for (var i=0; i <radios.length; i ++) {
if (radios[i].checked) {//如果单选框被选中,显示值和后面的文本
alert(radios[i].value + "," + $(".jqTransformRadioWrapper")[i].nextSibling.nodeValue);
break;
}
}
});
})
radio和CheckBox等设置属性和选中:
//选中第n个选项
$(function () {
$("#rads + button + button + button").click(function () {
var inputs = $("#rads input");//获取所有input标签
inputs[0].previousSibling.setAttribute("class","jqTransformRadio");//将第一个radio样式的默认选择去掉
inputs[1].previousSibling.setAttribute("class","jqTransformRadio jqTransformChecked");//将第二个radio样式设为默认选择
inputs[2].previousSibling.setAttribute("class","jqTransformRadio");//将第三个radio样式设为不默认
inputs[1].checked = true;
});
})
获取某个元素的第n个子元素的文本值:
$(function () {
$(".multipleChoice + button").click(function () {
for (var i=0; i<radioData.length; i++) {
//$(".multipleXiala li").eq(i+1).children("span")[1].innerText:选择li下面的第二个span子元素的文本内容
$(".multipleXiala li input").eq(i+1).val(radioData[i].id);
$(".multipleXiala li").eq(i+1).children("span")[1].innerText = radioData[i].name;
}
});
})
设置前一个同胞节点的属性,使用previousSibling:
$(function () {
$(".inputClear").click(function () {
//将所有input及其上一个兄弟元素设为不选中
var inputs = $(".multipleXiala li input[type=checkbox]");//获取所有input标签
for (var i=0; i <inputs.length; i++) {
inputs[i].previousSibling.setAttribute("class","jqTransformCheckbox");
inputs[i].checked = false;
}
$(".multipleInput").html("");
});
})
页面初始化:
即在页面被加载时,需要被实例化的变量或执行的方法
$(function(){
/**初始化数据域下拉框*/
initDomainSelect();
/**初始化radio*/
initRadio(gSysJson);
/**初始化滑块组件*/
initRanger();
/**初始化列表*/
initList();
/**初始化实时搜索**/
initRealTimeSearch();
/**列表查询**/
doSearchList();
/**自适应*/
setWH();
});
然后在下面一一实现上面需要被初始化的方法:
function initDomainSelect() {...}
function initRadio() {...}
....
fadeOut():实现某个模块淡出效果
$("").fadeOut(speed,callback);
参数:
speed:可选。规定元素从可见到隐藏的速度。默认为 "normal"。其他值:毫秒 (比如 1500);"slow";"normal";"fast"
callback:可选。fadeOut 函数执行完之后,要执行的函数。除非设置了 speed 参数,否则不能设置该参数。
promise():要求js一定要执行的方法体,无法取消,是异步执行
$( "" ).promise().done(function() {
xxx
});