常用选择器
01 * $(“s1s2”) 交集选择器
02 * $(“s1, s2”) 并集选择器
03 * $(“s1 > s2”) 子代选择器(下一代元素)
04 * $("s1 s2) 后代选择器(选取指定元素的后代的所有元素。)
05 * $(“s1 + s2”) 兄弟选择器(下一个兄弟元素)
06 * $(“s1 ~ s2”) s1之后的所有的兄弟节点元素(注意是之后的!)
// 后代选择器
$("#father p").css("backgroundColor", "pink");
// 子代选择器
$("#father>p").css("backgroundColor", "blue");
// 交集选择器
$("div.red").css("backgroundColor", "red");
// 并集选择器
$(".green, #green").css("backgroundColor", "green");
// 过滤选择器, even下标为基数的标签
$("div>div>p:even").css("backgroundColor", "cyan");
// 过滤选择器, eq等于下标为多少的标签
$("div>div>p:eq(2)").css("backgroundColor", "orange");
//下一个兄弟元素
$("#div2 + div").addClass("cBlack");
//div2之后的所有的兄弟节点元素(注意是之后的!)
$("#div2 ~ div").addClass("cBlack")
兼容性不一样:
后代选择器主流浏览器都兼容。
子选择器和相邻兄弟选择器在IE6是不被支持的选择器,会出bug!
实际应用:
var paramList = [];
var table = $('#fld2 tbody>tr');//$('#fld2 tbody').children('tr')
$.each(table, function() {
var row = $(this).children();
var materialId = row.eq(0).text();
var materialSpec = row.eq(2).text();
var lotNumber = row.eq(3).text();
var receiveInfo = '';
receiveInfo += '{"materialId":"' + materialId + '",';
receiveInfo += '"materialSpec":"' + materialSpec + '",';
receiveInfo += '"lotNumber":"' + lotNumber + '"}';
paramList.push(receiveInfo);
});