您的位置:首页 > Web前端 > JQuery

JS-Jquery 常用功能

2017-11-19 21:49 363 查看
新增、删除属性

$("#id").addClass('classname')

$("#id").removeClass('classname')


获取值,得到值,修改值,清空值

$("#input").val()

获取img标签的src  并且赋值

获取:$("#code_img").attr('src'); 或者 $("#code_img").prop('src');

var newsrc = $("#code_img").attr('src')+'?time='+Math.random()

赋值: $("#code_img").attr('src','xxxxxxxxxx');  或者 $("#code_img").prop('src','xxxxxxxx');

判断多选框是否被选中:

if($('input[type="checkbox"]').prop("checked")==true){
//do something
}


获取自定义属性

$('#code').getAttribute('mylink')
事件

.click,onclick()

$("button#demo").[code]click()


click 与onclick的区别:

$(function(){
$("#btn3").click(function(){
alert("second");
});
});

function change(){
alert("first");
}

然后点击:

<button id="btn3"onclick="change()">dd</button>
先弹出first,然后再弹出second

数据转化成对象

json_encode的数据到模板里用js先 eval()转换成对象

ajax获取的html字符串,用$(data)即可转化成对象  $(data).html 即可获取data里面的html内容

ajax局部刷新页面js失效

比如按钮的click事件,绑定事件用 on    因为局部刷新以后事件要重新绑定,用on 即可  具体的参数请自行百度

$('#id').on('click', function() {
// function code
});


JS序列化表单 中文乱码

var form = $('#add_menu_form').serialize(); // 表单里有中文 serialize()自动调用了encodeURIComponent方法将数据编码了
var data = decodeURIComponent(form,true); // 解码中文
console.log(data);


遍历

$('#id').each(function(){

alert($(this).text())

})  //进行DOM遍历,比如遍历一个ul 显示里面的li的文本内容


 

$.each(data,function(key,val){

alert(val.属性名)

})

//遍历数据,比如json对象,应该alert(val.属性名)


给单选按钮追加选中

if (if_show) {
$("input:radio[name='if_show']").eq(0).attr("checked",'checked');
}else{
$("input:radio[name='if_show']").eq(1).attr("checked",'checked');
}


定时器

//定时器,2秒钟后触发按钮的点击事件
setTimeout(function (){
$('#button').click();
$('#showmessage').trigger("click");
},2000);

给select 下拉列表追加默认选中

$("select[name='xxx']").find("option[value='"+pid+"']").attr("selected",true);//pid 是变量,这里拼接一下
$("#id").find("option[text='xxx']").prop("selected",true);//attr 也可以


var options=$(“#id option:selected”); //获取选中的项这个对象

alert(options.val()); //拿到选中项的值

alert(options.text()); //拿到选中项的文本


js调用函数的返回值取不到的问题:

简单的例子:

function check_name(){
var ck_res=false; //定义一个变量
$.ajax({
type:'get',
async:false,
success:function(msg){
if(msg){
ck_res = true;   //更改变量值
}else{
ck_res = false; //更改变量值
}
}
});
return ck_res; //返回变量值
}

var res = check_name() 这个时候res的值就是 函数的返回值
function check_name(){

$.ajax({
type:'get',
async:false,
success:function(msg){
if(msg){
return true;
}else{
return false;
}
}
});
}
var res = check_name() 这个时候 res就是未定义

因为是ajax返回了以后并没有变量接收,返回值只是存在于check_name函数内部,如果 var ajax_return=$.ajax({......}) 这样 ajax_return就是一个对象,然后在check_name()里再把这个对象return,最后res有值,不过也是个对象,里面的responseText是文本内容,不推荐这种写法,只是说明为什么在ajax里直接return 然后再调用函数却接收不到值 。第一种在方法里先声明变量,在ajax里改变以后,在方法里再return
变量 这种才是常规的写法。

Jquery判断元素是否隐藏

if($("#test").is(":hidden")){
$("#test").show();    //如果元素为隐藏,则将它显现
}else{
$("#test").hide();     //如果元素为显现,则将其隐藏
}


有用的话点个赞,谢谢
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: