作者: admin

  • jQuery对象与dom对象相互转换

    刚开始学习jQuery,可能一时会分不清楚哪些是jQuery对象,哪些是DOM对象。至于DOM对象不多解释,我们接触的太多了,下面重点介绍一下jQuery,以及两者相互间的转换。

    什么是jQuery对象?

    —就是通过jQuery包装DOM对象后产生的对象。jQuery对象是jQuery独有的,其可以使用jQuery里的方法。

    比如:

    $(“#test”).html() 意思是指:获取ID为test的元素内的html代码。其中html()是jQuery里的方法

    这段代码等同于用DOM实现代码:

     

    document.getElementById(“id”).innerHTML;

     

    虽然jQuery对象是包装DOM对象后产生的,但是jQuery无法使用DOM对象的任何方法,同理DOM对象也不能使用jQuery里的方法.乱使用会报错。比如:$(“#test”).innerHTML、document.getElementById(“id”).html()之类的写法都是错误的。

    还有一个要注意的是:用#id作为选择符取得的是jQuery对象与document.getElementById(“id”)得到的DOM对象,这两者并不等价。请参看如下说的两者间的转换。

    既然jQuery有区别但也有联系,那么jQuery对象与DOM对象也可以相互转换。在再两者转换前首先我们给一个约定:如果一个获取的是 jQuery对象,那么我们在变量前面加上$,如:var $variab = jQuery对象;如果获取的是DOM对象,则与习惯普通一样:var variab = DOM对象;这么约定只是便于讲解与区别,实际使用中并不规定。

    jQuery对象转成DOM对象:

    两种转换方式将一个jQuery对象转换成DOM对象:[index]和.get(index);

    (1)jQuery对象是一个数据对象,可以通过[index]的方法,来得到相应的DOM对象。

    如:var $v =$(“#v”) ; //jQuery对象

    var v=$v[0]; //DOM对象

    alert(v.checked) //检测这个checkbox是否被选中

    (2)jQuery本身提供,通过.get(index)方法,得到相应的DOM对象

    如:var $v=$(“#v”); //jQuery对象

    var v=$v.get(0); //DOM对象

    alert(v.checked) //检测这个checkbox是否被选中

    DOM对象转成jQuery对象:

    对于已经是一个DOM对象,只需要用$()把DOM对象包装起来,就可以获得一个jQuery对象了。$(DOM对象)

    如:var v=document.getElementById(“v”); //DOM对象

    var $v=$(v); //jQuery对象

    转换后,就可以任意使用jQuery的方法了。

    通过以上方法,可以任意的相互转换jQuery对象和DOM对象。需要再强调注意的是:DOM对象才能使用DOM中的方法,jQuery对象是不可以用DOM中的方法。

  • jQuery元素转化DOM对象的必要性

    关键词:jquery,DOM,元素。

    学习jquery的时候不明白为什么jquery的对象还要转化成DOM对象,因为有一些纯JS的功能只能操作DOM对象,例如说明:

    <script type=”text/javascript”>
    $(document).ready(function(){
    $(“button”).click(function(){
    x=$(“p”).get(0);
    $(“div”).text(x.nodeName + “: ” + x.innerHTML);
    });
    });
    </script>

    如果用jquery获取到的元素不转成DOM元素,那么就不能使用像类似nodeName和innerHTM的纯JS功能。

    http://www.w3school.com.cn/tiy/t.asp?f=jquery_dom_element_methods_get

  • qq在线聊天代码

    qq在线聊天代码,方便客户与客服沟通,只需要开启QQ软件即可。

    qq_char

  • JS获取浏览器高度和宽度

    JS获取浏览器高度和宽度
    IE中:

    document.body.clientWidth ==> BODY对象宽度

    document.body.clientHeight ==> BODY对象高度

    document.documentElement.clientWidth ==> 可见区域宽度

    document.documentElement.clientHeight ==> 可见区域高度

    FireFox中:

    document.body.clientWidth ==> BODY对象宽度

    document.body.clientHeight ==> BODY对象高度

    document.documentElement.clientWidth ==> 可见区域宽度

    document.documentElement.clientHeight ==> 可见区域高度

    Opera中:

    document.body.clientWidth ==> 可见区域宽度

    document.body.clientHeight ==> 可见区域高度

    document.documentElement.clientWidth ==> 页面对象宽度(即BODY对象宽度加上Margin宽)

    document.documentElement.clientHeight ==> 页面对象高度(即BODY对象高度加上Margin高)

    没有定义W3C的标准,则

    IE为:

    document.documentElement.clientWidth ==> 0

    document.documentElement.clientHeight ==> 0

    FireFox为:

    document.documentElement.clientWidth ==> 页面对象宽度(即BODY对象宽度加上Margin宽)document.documentElement.clientHeight ==> 页面对象高度(即BODY对象高度加上Margin高)

    Opera为:

    document.documentElement.clientWidth ==> 页面对象宽度(即BODY对象宽度加上Margin宽)document.documentElement.clientHeight ==> 页面对象高度(即BODY对象高度加上Margin高)

    jsgw

     

    网页可见区域宽: document.body.clientWidth

    网页可见区域高: document.body.clientHeight

    网页可见区域宽: document.body.offsetWidth (包括边线的宽)

    网页可见区域高: document.body.offsetHeight (包括边线的高)

    网页正文全文宽: document.body.scrollWidth

    网页正文全文高: document.body.scrollHeight

    网页被卷去的高: document.body.scrollTop

    网页被卷去的左: document.body.scrollLeft

    网页正文部分上: window.screenTop

    网页正文部分左: window.screenLeft

    屏幕分辨率的高: window.screen.height

    屏幕分辨率的宽: window.screen.width

    屏幕可用工作区高度: window.screen.availHeight

    屏幕可用工作区宽度: window.screen.availWidth

     

     

    HTML精确定位:scrollLeft,scrollWidth,clientWidth,offsetWidth

    scrollHeight: 获取对象的滚动高度。

    scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离

    scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离

    scrollWidth:获取对象的滚动宽度

    offsetHeight:获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的高度

    offsetLeft:获取对象相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置

    offsetTop:获取对象相对于版面或由 offsetTop 属性指定的父坐标的计算顶端位置

    event.clientX 相对文档的水平座标

    event.clientY 相对文档的垂直座标

    event.offsetX 相对容器的水平坐标

    event.offsetY 相对容器的垂直坐标

    document.documentElement.scrollTop 垂直方向滚动的值

    event.clientX+document.documentElement.scrollTop 相对文档的水平座标+垂直方向滚动的量

     

    实现代码

    < !DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”

    “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>

    <html xmlns=”http://www.w3.org/1999/xhtml”>

    <head>

    <title>请调整浏览器窗口</title> <meta http-equiv=”content-type” content=”text/html; charset=gb2312″>

    </meta></head>

    <body>

    <h2 align=”center”>请调整浏览器窗口大小</h2><hr />

    <form action=”#” method=”get” name=”form1″ id=”form1″>

    <!–显示浏览器窗口的实际尺寸–>

    浏览器窗口 的 实际高度: <input type=”text” name=”availHeight” size=”4″/><br />

    浏览器窗口 的 实际宽度: <input type=”text” name=”availWidth” size=”4″/><br />

    </form>

    <script type=”text/javascript”>

    <!–

    var winWidth = 0;

    var winHeight = 0;

    function findDimensions() //函数:获取尺寸

    {

    //获取窗口宽度

    if (window.innerWidth)

    winWidth = window.innerWidth;

    else if ((document.body) && (document.body.clientWidth))

    winWidth = document.body.clientWidth;

    //获取窗口高度

    if (window.innerHeight)

    winHeight = window.innerHeight;

    else if ((document.body) && (document.body.clientHeight))

    winHeight = document.body.clientHeight;

    //通过深入Document内部对body进行检测,获取窗口大小

    if (document.documentElement && document.documentElement.clientHeight && document.documentElement.clientWidth)

    {

    winHeight = document.documentElement.clientHeight;

    winWidth = document.documentElement.clientWidth;

    }

    //结果输出至两个文本框

    document.form1.availHeight.value= winHeight;

    document.form1.availWidth.value= winWidth;

    }

    findDimensions();

    //调用函数,获取数值

    window.onresize=findDimensions;

    //–>

    </script>

    </body>

    </html>

    http://www.cnblogs.com/cr7/archive/2010/03/17/1688379.html

  • 使用browserdetect.js判断浏览器种类

    关键词:JS 浏览器 兼容 判断 执行不同代码 检测 版本号

    使用browserdetect.js判断浏览器种类,根据不同的浏览器执行不同的代码,

    alert(BrowserDetect.browser); //浏览器名称
    alert(BrowserDetect.version); //浏览器版本
    alert(BrowserDetect.OS); //所在系统
    if(BrowserDetect.browser==’Internet Explorer’ && BrowserDetect.version<7){
    alert(‘兼容’);
    }

    BrowserDetect

    js_pd