jquery find filter?jquery下载
本篇文章给大家谈谈jquery find filter,以及jquery下载对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。
jquery几种页面元素定位及操作的方法
这两种方式还可以联合起来混合使用。我们来试着在我们的test.html代码中选择并修改第一个ordered list.一开始,我们需要选择这个list本身,这个list有一个ID叫“orderedlist”,通常的javascript写法是document.getElementById("orderedlist").在jQuery中,代码如下:$(document).ready(function(){$("#orderedlist").addClass("red");});若将一个CSS样式blue附加到了orderedlist上,在你刷新了test.html后,你将会看到第一个有序列表(ordered list)背景色变成了蓝色,而第二个有序列表没有变化.代码如下:$(document).ready(function(){$("#orderedlist> li").addClass("blue");});这样,所有orderedlist中的li都附加了样式"blue"。如果要实现把鼠标放在li对象上面和移开时进行样式切换,但只在list的最后一个element上生效。$(document).ready(function(){$("#orderedlist li:last").hover(function(){$(this).addClass("green");}, function(){$(this).removeClass("green");});}); find()让你在已经选择的element中作条件查找,因此$("#orderedlist).find("li")就像$("#orderedlist li")一样。each()方法迭代了所有的li,并可以在此基础上作更多的处理。大部分的方法,如addClass(),都可以用它们自己的 each()。html()用来获取每个li的html文本,追加一些文字,并将之设置为li的html文本。jQuery提供了filter()和not()两个方法。 filter()以过滤表达式来减少不符合的被选择项, not()则用来取消所有符合过滤表达式的被选择项.考虑一个无序的list,你想要选择所有的没有ul子元素的li元素。$(document).ready(function(){$("li").not(":has(ul)").css("border","1px solid black");//原文为$("li").not("[ul]").css("border","1px solid black");});这个代码选择了所有的li元素,然后去除了有ul子元素的li元素。刷新浏览器后,所有的li元素都有了一个边框,只有ul子元素的那个li元素例外。上面代码中的[expression]语法是从XPath而来,可以在子元素和属性(elements and attributes)上用作过滤器,比如你可能想选择所有的带有name属性的链接:$(document).ready(function(){$("a[name]").css("background-color","#eee");//原文为“$("a[@name]").background("#eee");”在jQuery1.2及以上版本中,@符号应该去除,background方法被css方法取代});这个代码给所有带有name属性的链接加了一个背景色。更常见的情况是以name来选择链接,你可能需要选择一个有特点href属性的链接,这在不同的浏览器下对href的理解可能会不一致,所以我们的部分匹配("*=")的方式来代替完全匹配("="):$(document).ready(function(){$("a[href*=/content/gallery]").click(function(){// do something with all links that point somewhere to/content/gallery});});到现在为止,选择器都用来选择子元素或者是过滤元素。另外还有一种情况是选择上一个或者下一个元素,比如一个FAQ的页面,答案首先会隐藏,当问题点击时,答案显示出来,jQuery代码如下:$(document).ready(function(){$('#faq').find('dd').hide().end().find('dt').click(function(){ var answer=$(this).next(); if(answer.is(':visible')){ answer.slideUp();} else{ answer.slideDown();}});});这里我们用了一些链式表达法来减少代码量,而且看上去更直观更容易理解。像'#faq'只选择了一次,利用end()方法,第一次find()方法会结束(undone),所以我们可以接着在后面继续find('dt'),而不需要再写$('#faq').find('dt')。在点击事件中的,我们用$(this).next()来找到dt下面紧接的一个dd元素,这让我们可以快速地选择在被点击问题下面的答案。除了选择同级别的元素外,你也可以选择父级的元素。
如何为jquery.datatables指定列可以排序
$(document).ready(function()
{
//插件的形式
jQuery.fn.alterRowColors=function()
{
$('tbodytr:odd',this).removeClass('even').addClass('odd');
$('tbodytr:even',this).removeClass('odd').addClass('even');
returnthis;
}
//1.此时的函数是作为jQuery.fn的一个新属性定义的,不是孤立的函数,这样就把该函数注册成了一个插件,
//2.使用关键字this,在一个插件内部,this表示的是调用该插件的jQuery对象,
//3.最后在函数的末尾返回this,返回这个值可以使这个新方法能够继续连缀其他的方法。
var$sortOrder=0;//排序类型1表示升序,0表示降序
var$table=$('table#shop');
$table.alterRowColors();
$('th',$table).each(function(column)
{
//处理三种有可能存在的排序字段,比较方法
varfindSortKey;
if($(this).is('.sort-title')||$(this).is('.sort-author'))
{
findSortKey=function($cell)
{
return$cell.find('.sort-title').text().toUpperCase()+''+$cell.text().toUpperCase();
}
}
elseif($(this).is('.sort-date'))
{
findSortKey=function($cell)
{
returnDate.parse('1'+$cell.text());
}
}
elseif($(this).is('.sort-price'))
{
findSortKey=function($cell)
{
varkey=parseFloat($cell.text().replace(/^[^\d.]*/,''))
returnisNaN(key)?0:key;
}
}
//排序
if(findSortKey)
{
$(this).addClass('clickable').hover(function()
{
$(this).addClass('hover');
var$title=$sortOrder==0?'升序':'降序';
$(this).attr('title','按'+$(this).html()+$title+'排列');
},function()
{
$(this).removeClass('hover');
}).click(function()
{
$sortOrder=$sortOrder==0?1:0;
varrows=$table.find('tbody>tr').get();
$.each(rows,function(index,row)
{
row.sortKey=findSortKey($(row).children('td').eq(column));
});
//排序方法
rows.sort(function(a,b)
{
if($sortOrder==1)
{
//升序
if(a.sortKey<b.sortKey)return-1;
if(a.sortKey>b.sortKey)return1;
return0;
}
else
{
//降序
if(a.sortKey<b.sortKey)return1;
if(a.sortKey>b.sortKey)return-1;
return0;
}
});
//排序后的对象添加给$table
$.each(rows,function(index,row)
{
$table.children('tbody').append(row);
row.sortKey=null;
});
//显著标明是通过某一列排序的
$table.find('td').removeClass('sorted')
.filter(':nth-child('+(column+1)+')').addClass('sorted');
//重新赋予奇偶行的样式
$table.alterRowColors();
});
}
});
//分页效果
varcurrentPage=0;//当前页
varpageSize=10;//每页行数(不包括表头)
//绑定分页事件
$table.bind('repaginate',function()
{
$table.find('tbodytr').hide()
.slice(currentPage*pageSize,(currentPage+1)*pageSize).show();
});
varnumRows=$table.find('tbodytr').length;//记录宗条数
varnumPages=Math.ceil(numRows/pageSize);//总页数
var$pager=$('<divclass="page"></div>');//分页div
for(varpage=0;page<numPages;page++)
{
//为分页标签加上链接
$('<arel="external nofollow" rel="external nofollow" rel="external nofollow" href="#"><span>'+(page+1)+'</span></a>')
.bind("click",{"newPage":page},function(event)
{
currentPage=event.data["newPage"];
$table.trigger("repaginate");
})
.appendTo($pager);
$pager.append("");
}
$pager.insertAfter($table);//分页div插入table
$table.trigger("repaginate");//初始化
});
jquery遍历table的tr获取td的值(jquery遍历表单元素)
jquery获取tbody的tr数据获取tbody里面所有的td值我们可以通过获取tbody这个页面元素下面所有的tr元素,获取后通过遍历的方式来获取所有的td值。
以下面这个HTML代码为例来看一看怎么获取tbody里面所有的td值
HTML代码:
注意,一定要给tbody设置一个id,这样后面才能通过id获得tobody这个网页元素。
jquery代码如下:
这里使用一个list来获取了所有的tr,然后再遍历tr里面的td值。
jQuery怎么遍历表格,获取每一列的值tableclass="tabletable-hover"id="test123"
tr
thwidth="45"选择/th
thwidth="100"驾校名称/th
thwidth="100"合作驾校名称/th
thwidth="100"申请时间/th
thwidth="100"申请状态/th
thwidth="100"操作/th
/tr
tr
tdinputtype="checkbox"name="id"value="1"//td
td中大驾校/td
td潇湘驾校/td
td2016-04-1514:40:20/td
tdclass="tablestate"未处理/td
tdaclass="changebuttonborder-bluebutton-littleupdate"rel="external nofollow" rel="external nofollow" rel="external nofollow" href="#"修改申请状态/a/td
/tr
tr
tdinputtype="checkbox"name="id"value="1"//td
td中大驾校/td
td潇湘驾校/td
td2016-04-1514:40:20/td
tdclass="tablestate"未处理/td
tdaclass="changebuttonborder-bluebutton-littleupdate"rel="external nofollow" rel="external nofollow" rel="external nofollow" href="#"修改申请状态/a/td
/tr
/table
扩展资料:
遍历同胞:
siblings():被选中时找到自己的兄弟姐妹,写法有siblings(所有的兄弟姐妹)和siblings(“同级的兄弟姐妹”)。
next():被选中时找到自己的下级,写法有??nextAll(找到所有的下级)和next(“找到下一个元素”)和nextuntil("被选中的元素的范围内的元素")。
prev(),prevAll()以及prevUntil()方法的工作方式与上面的方法类似,只不过方向相反:它们返回的是前面的同胞元素(在DOM树中沿着同胞元素向后遍历,而不是向前)。
first():返回被选中的第一元素?,写法$("divp").first().css("样式")。
last():被选中的最后一个元素,写法$("divp").last().css(”样式“)。
eq():返回被选中元素中有索引的元素,索引号,是从0开始不是从1开始比如tr.eq(0).id==data.eq[i-1].id或者tr[0].id=data[i-1].id。????
filter():删除真正意义上的过滤,写法?$("div").filter("span").hide()。
not():就是跟filter()相反的用法。
jquery怎么获取table中某一行的值jQuery遍历的eq()方法将匹配元素集缩减值指定index上的一个,index表示元素的位置(最小为0)。所以获取Table第i行第j列的内容可用如下代码
1
$("table").find("tr").eq(i-1).find("td").eq(j-1).text();//注意-1是因为index从0开始计数
实例演示
创建Html元素
divclass="box"
span填写行列数,点击按钮后获取对应位置的数值:/span
divclass="content"
table
trtd1/tdtd2/tdtd3/td/tr
trtd4/tdtd5/tdtd6/td/tr
trtd7/tdtd8/tdtd9/td/tr
/table
/div
第inputtype="text"name="row"行,第inputtype="text"name="col"列inputtype="button"class="btn"value="确定"
/div
添加css样式
div.box{width:300px;height:250px;padding:10px20px;border:4pxdashed#ccc;}
div.boxspan{color:#999;font-style:italic;}
div.content{width:250px;height:100px;margin:10px0;padding:5px20px;border:2pxsolid#ff6666;}
input[type='text']{width:35px;height:30px;border:1pxsolid#99ccff;}
input[type='button']{width:100px;height:30px;margin:10px;border:2pxsolid#ebbcbe;}
.selected{background:#99ccff;}
table{border-collapse:collapse;}
td{padding:5px10px;border:1pxsolidgreen;}
编写jquery代码
$(function(){
$("input:button").click(function(){
row=$("input[name='row']").val()-1;
col=$("input[name='col']").val()-1;
val=$("table").find("tr").eq(row).find("td").eq(col).text();
alert(val);
});
})
观察显示效果
jquery怎么获取第二个元素的值有两种方法可以获取tr下的第二个td元素:
1、使用css选择器,$("trtd:nth-child(2)")。
2、使用遍历函数eq()。
下面就以上两个方法进行实例演示:单击按钮改变所有行的第二个单元格的样式,单击任意行改变该行第二个单元格的样式。
1、HTML结构
table?id?=?"test"
trtd1/tdtd1/tdtd2/tdtd3/td/tr
trtd2/tdtd4/tdtd5/tdtd6/td/tr
trtd3/tdtd7/tdtd8/tdtd9/td/tr
trtd4/tdtd1/tdtd2/tdtd3/td/tr
/table
input?type="button"?id="btn"?value="设置"
2、jquery代码
$(function(){
$("#btn").click(function()?{
$("#test?tr?td:nth-child(2)").addClass('red');
});
$("#test?tr").click(function()?{
$(this).children('td').eq(1).addClass('red');
});
});
jquery find filter和jquery下载的问题分享结束啦,以上的文章解决了您的问题吗?欢迎您下次再来哦!