大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
如果希望取到tagName后再进行判断,可以使用jquery
成都创新互联公司长期为1000+客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为肇庆企业提供专业的成都做网站、网站制作,肇庆网站改版等技术服务。拥有10年丰富建站经验和众多成功案例,为您定制开发。
$(element).is()来实现。
如果是为了取到tagName后再进行判断,那直接用下面的代码会更方便:
$(element).is('input')
如果是要取到标签用作到别的地方,可以使用代码:
$(element)[0].tagName
或:
$(element).get(0).tagName
!DOCTYPE html
html lange="en"
head
title点击左右按钮图片横向滚动/title
meta charset=utf-8" /
style type="text/css"
* { margin:0; padding:0;}
body { font-size:12px;}
.box {height:66px; float:left; width:440px; overflow: hidden; position:relative; }
.box
li { display:block; float:left; margin-left:5px; margin-right:5px;
width:100px;
height:70px;background:#BBB;font-size:50px;color:#ccc;line-height:66px;text-decoration:none;text-align:center;
cursor:pointer;}
.box li:hover { color:#999; }
.box li.active { background-position:-174px 0; color:#555;cursor:default;}
a.prev,
a.next {background:url()
no-repeat 0 0; display:block;width:23px;height:43px; float:left;
margin:15px 0 0 0; cursor:pointer;}
a.next { background-image:url()}
.scroll_list{ width:10000em; position:absolute; }
/style
!-- 引入jQuery --
script src="" type="text/javascript"/script
script type="text/javascript"
$(function(){
var page= 1;
var i = 4;//每版四个图片
//向右滚动
$(".next").click(function(){ //点击事件
var v_wrap = $(this).parents(".scroll"); // 根据当前点击的元素获取到父元素
var v_show = v_wrap.find(".scroll_list"); //找到视频展示的区域
var v_cont = v_wrap.find(".box"); //找到视频展示区域的外围区域
var v_width = v_cont.width();
var len = v_show.find("li").length; //我的视频图片个数
var page_count = Math.ceil(len/i); //只要不是整数,就往大的方向取最小的整数
if(!v_show.is(":animated")){
if(page == page_count){
v_show.animate({left:'0px'},"slow");
page =1;
}else{
v_show.animate({left:'-='+v_width},"slow");
page++;
}
}
});
//向左滚动
$(".prev").click(function(){ //点击事件
var v_wrap = $(this).parents(".scroll"); // 根据当前点击的元素获取到父元素
var v_show = v_wrap.find(".scroll_list"); //找到视频展示的区域
var v_cont = v_wrap.find(".box"); //找到视频展示区域的外围区域
var v_width = v_cont.width();
var len = v_show.find("li").length; //我的视频图片个数
var page_count = Math.ceil(len/i); //只要不是整数,就往大的方向取最小的整数
if(!v_show.is(":animated")){
if(page == 1){
v_show.animate({left:'-='+ v_width*(page_count-1)},"slow");
page =page_count;
}else{
v_show.animate({left:'+='+ v_width},"slow");
page--;
}
}
});
});
/script
/head
body
!-- 例子 --
div class="scroll" style="margin:0 auto;width:550px;"
!-- "prev page" link --
a class="prev" href="#"/a
div class="box"
div class="scroll_list"
ul
li1/li
li2/li
li3/li
li4/li
li5/li
li6/li
li7/li
li8/li
li9/li
li10/li
li11/li
li12/li
li13/li
li14/li
li15/li
li16/li
/ul
/div
/div
!-- "next page" link --
a class="next" href="#"/a
/div
/body
/html
jQuery 遍历 - is() 方法
定义和用法
is() 根据选择器、元素或 jQuery 对象来检测匹配元素集合,如果这些元素中至少有一个元素匹配给定的参数,则返回 true。
语法
.is(selector)
详细说明
与其他筛选方法不同,.is() 不创建新的 jQuery 对象。相反,它允许我们在不修改 jQuery 对象内容的情况下对其进行检测。这在 callback 内部通常比较有用,比如事件处理程序。
假设我们有一个列表,其中两个项目包含子元素:
ul
lilist strongitem 1/strong/li
lispanlist item 2/span/li
lilist item 3/li
/ul
您可以向 ul 元素添加 click 处理程序,然后把代码限制为只有当列表项本身,而非子元素,被点击时才进行触发:
$("ul").click(function(event) {
var $target = $(event.target);
if ( $target.is("li") ) {
$target.css("background-color", "red");
}
});
1.如果是判断两个jquery Object是否引用的同一个DOM元素,则可以使用jquery的is方法,如下:
$('#test1').is('.test')
示例中应该得到的是true.
2.如果是判断两个jquery Object是否相等,即
$('#test1') == $('.test')
那这种情况下,就是两个引用类型在比较,那遵循就是引用类型比较的规则。
很明显示例中得到的是false.
isFinite(num)检测num是否为有限数字(或者可以被转化为有限数字),就是先对参数进行一个强制类型转换,进行一个num = Number(num),然后再对num进行判断。
jquery的isNumeric(str)也是先对参数进行强制类型转换,但是不同的是将其转为string类型,然后将这个string类型,利用parseFloat()将其转为Number类型,实现代码如下:
var isNumeric = function( obj ) {
return !Array.isArray( obj ) (obj - parseFloat( obj ) + 1) = 0;
};
isNumberic判断的是不是一个数字(两种形式:"1" or 1)
具体区别:
console.log(isFinite(true)); // true
console.log(isFinite([1])); // true
console.log(isNumberic(true)); // false
console.log(isNumberic([1])); // false
最后附上各个版本的jquery的isNumeric实现
//jquery1.43~1.64
jQuery.isNaN = function(obj) {
return obj == null || !rdigit.test(obj) || isNaN(obj);
}
//jquery1.7 就是isNaN的取反版
jQuery.isNumeric = function(obj) {
return obj != null rdigit.test(obj) !isNaN(obj);
}
//jquery1.71~1.72
jQuery.isNumeric = function(obj) {
return !isNaN(parseFloat(obj)) isFinite(obj);
}
//jquery2.1
jQuery.isNumeric = function(obj) {
return obj - parseFloat(obj) = 0;
}
这是jquery 搞的isNumeric
到jquery3,就变得更复杂了
isNumeric: function( obj ) {
// parseFloat NaNs numeric-cast false positives (null|true|false|"")
// ...but misinterprets leading-number strings, particularly hex literals ("0x...")
// subtraction forces infinities to NaN
// adding 1 corrects loss of precision from parseFloat (#15100)
return !jQuery.isArray( obj ) ( obj - parseFloat( obj ) + 1 ) = 0;
},
假设多选框的name='chkbx',那么可以如下来判断
var chks = $("[name='chkbx']:checked")
或者
var chks = $("[name='chkbx']").find("option:checked");
判断是否为空,不为空就至少有一个被选中,不为空时也可以通过length来获取个数