Jquery和javascript对css的操作中css属性名的区别

如果你使用Jquery,操作CSS很简单,可以使用css(name,value)这个方法,而且name都是原生的CSS属性名,使用起来很方便,配合CSS文档就可以了。

但是如果不是用Jquery的话,改变css的属性的时候就要注意了。因为很多属性(例如:background-image)带有‘-’,而“+”和“-”都是JavaScript语言保留给自己使用的特殊字符,不允许用在函数或变量的名字里,所以在方法或属性里面也不可以这样用(方法和属性其实是关联在某个对象上的函数和变量)。DOM解决这个问题的方法是采用“Camel记号”,也就是骆驼命名法,像background-image这个CSS属性就要写成backgroundImage才可以,否则就要出错。

以下两个代码是等价的,一个使用Jquery,一个没使用Jquery,直接使用js。

$(“#test”).css(‘background-image’,’url(“images/test.jpg”)’);

var d=document.getElementById(“test”);
d.style.backgroundImage=’url(“images/test.jpg”)’;

使用Jquery确实是大大的方便了开发,很多东西变的是这么的自然。

Jquery学习笔记-获取select标签已经选中的值

书上介绍有Jquery的form插件,这个插件有个函数:

fieldValue(excludeUnsuccessful)

收集包装集里所有成功表单的值,并且返回这些值所构成的字符串数组。如果未找到任何值,就返回一个空数组。

参数 excludeUnsuccessful(布尔型)如果省略(或设置为true),则指定包装集里任何不成功控件被忽略。

返回 :已收集的值所构成的字符串数组

如果你要处理很多表单,就是用这个form插件吧,但是如果只是处理很少的form,不想使用这个插件呢?

那就用下面的这两种吧:

$('#testSelect option:selected').text();
$("#testSelect").find('option:selected').text();

这样就可以获取到值了。

Jquery中$("#id")和document.getElementById("id")的区别

刚开始学习Jquery。遇到了一些困难。

我使用Jquery的$(“#id”)选择了<select>标签,然后用DOM的add方法插入<option>节点,失败,换用document.getElementByID就可以。一直以为Jquery的$方法返回的是DOM对象,搜索了一下才知道,原来是有差别的,看来是我看书的时候不认真造成的。

用Jquery选择的包装集返回的是Jquery对象,用document.getElementByID返回的却是DOM对象,既然对象不同,方法也就不能混用,所以我开始的时候使用add方法是没用的。这里有一篇文章详细讲解Jquery对象和DOM对象之间的转换。简单说来就是:Query对象是一个数据对象,可以通过[index]的方法,来得到相应的DOM对象。 对于已经是一个DOM对象,只需要用$()把DOM对象包装起来,就可以获得一个jQuery对象了。$(DOM对象)。

所以对于我遇到的问题,我只要使用$(“#id”)[0];就可以获得DOM对象了,就可以使用add方法了。

———————————update———————————————

用Jquery的时候,用.each()可以遍历包装集里面的DOM对象