jquery选择器
Jquery 选择器获取元素 时,对特殊字符转义需要加两个反斜杠
如:var orgName=$("#whir\\$t3198_f4972").val();
小问题:
<div style="WIDTH: 100%" id="whir$t3198-whir$t3198_f4972">
<div class="cls-ui cls-ui207 cls-ui-readonly cls-ui-1003131 cls-print cls-print207 cls-print-1003131">信息公司通信运维部</div>
</div>
用js怎么更改 '信息公司通信运维部' 这些字?
$("#whir\\$t3198-whir\\$t3198_f4972").children().eq(0).text("市场开发部");
这是错误的,,这样获取不到jquery对象
$("div[id='whir$t3198-whir$t3198_f4972']").children().eq(0).text("施工部");
这样是对的
jquery ajax 在ie下问题:
url后面不可携带参数,若携带参数,就会发生错误
正确做法
$.ajax({
url:'EzFLOWDealSearch!getId.action',
data: {xmname:name},
dataType: 'json',
async:false,
success:function(data){
$("#xm_id").val(data.xm_id);
},
error:function(a,b,c){
alert(a);
alert(b);
alert(c);
}
});
小细节:
1、jqeury在对超链接进行操作时,需在代码的最后return false取消超链接的默认行为,不然前面写的代码不一定执行完页面就跳转了。
2、jquery中replaceAll无效 只有replace方法 才可替换指定的字符串
3、jquery中的attr和prop的区别
attr和prop都是jquery中获取对象属性的方法
区别:
对于HTML元素本身就带有的固有属性,在处理时,使用prop方法。
对于HTML元素我们自己自定义的DOM属性,在处理时,使用attr方法。
js常用小知识
1、js中判断字符串是否相等和indexOf()方法
在js或jquery中,判断字符串是否相等没有equals()方法。。直接 ==即可;
js中的==不是和java里面的==一样比较对象的内存地址;
js中的==会根据类型和值来判断;若类型和值都相等,则相等;若类型不同,在js尝试类型转换,再比较;
indexOf方法可返回某个指定的字符串值在字符串中首次出现的位置。
若返回值<0 则代表字符串中没有这个指定的字符串
2、js比较数字大小
parseInt(num1)<parseInt(num2)
js中默认的类型是String类型,若不转换类型,则会出错
3、
var arr = ["a", "b", "c"];
typeof arr; // return "object"
arr instanceof Array // true
arr.constructor(); //[]
4、js去空格
function String.prototype.Trim() { return this.replace(/(^/s*)|(/s*$)/g, ""); } // 去掉左右空格
function String.prototype.Ltrim() { return this.replace(/(^/s*)/g, ""); } // 去掉左空格
function String.prototype.Rtrim() { return this.replace(/(/s*$)/g, ""); } // 去掉右空格
5、验证参数是否为数字
function isNumber(n){
return !isNaN(parseFloat(n)) && isFinite(n);
}
6、获取一个数字数组的最大值和最小值
var numbers = [5, 458 , 120 , -215 , 228 , 400 , 122205, -85411];
var maxInNumbers = Math.max.apply(Math, numbers);
var minInNumbers = Math.min.apply(Math, numbers);
7、清空一个数组
var numbers = [5, 458 , 120 , -215 , 228 , 400 , 122205, -85411];
var maxInNumbers = Math.max.apply(Math, numbers);
var minInNumbers = Math.min.apply(Math, numbers);
jquery小技巧
1、选择或者不选页面上全部复选框
var flag = false;
$('a').click(function() {
$("input[type=checkbox]").attr("checked",!flag);
flag = !flag;
});
2、在表单中禁用“回车键”
$("#form").keypress(function(e) {
if (e.which == 13) {
return false;
}
});
3、清除所有的表单数据 (66666666666666)
function clearForm(form) {
$(':input', form).each(function() {
var type = this.type;
var tag = this.tagName.toLowerCase();
if (type == 'text' || type == 'password' || tag == 'textarea')
this.value = "";
else if (type == 'checkbox' || type == 'radio')
this.checked = false;
else if (tag == 'select')
this.selectedIndex = -1;
});
};
4、表单中按钮的禁用和启用
禁用按钮:$("#somebutton").attr("disabled", true);
启动按钮:$("#submit-button").removeAttr("disabled");
5、高亮显示目前聚焦的输入框标示
$("form :input").focus(function() {
$("label[for='" + this.id + "']").addClass("labelfocus");
}).blur(function() {
$("label").removeClass("labelfocus");
});
6、动态添加表单元素
$('#password1').change(function() {
$("#password1").append("<input type='text' name='password2' id='password2' />");
});