jing--jing

attr(name|properties|key,value|fn):设置或返回被选元素的属性值。

1:属性名称。

2:返回属性值的函数,第一个参数为当前元素的索引值,第二个参数为原先的属性值。

removeAttr(name):从每一个匹配的元素中删除一个属性  要删除的属性名

1.6以下版本在IE6使用JQuery的removeAttr方法删除disabled是无效的。解决的方法就是使用$("XX").prop("disabled",false);
1.7版本在IE6下已支持删除disabled。

 例子:

HTML 代码:
<img src="test.jpg"/>
jQuery 代码:
$("img").removeAttr("src");
结果:[ <img /> ]

 

prop(name|properties|key,value|fn):获取在匹配的元素集中的第一个元素的属性值。

随着一些内置属性的DOM元素或window对象,如果试图将删除该属性,浏览器可能会产生错误。jQuery第一次分配undefined值的属性,而忽略了浏览器生成的任何错误

 

1:属性名称。

2:返回属性值的函数,第一个参数为当前元素的索引值,第二个参数为原先的属性值。

 例子:

 

 

参数name 描述:

 

选中复选框为true,没选中为false

 

jQuery 代码:

 

$("input[type=\'checkbox\']").prop("checked");

 

参数properties 描述:

 

禁用页面上的所有复选框。

 

jQuery 代码:

 

$("input[type=\'checkbox\']").prop({
  disabled: true
});

 

参数key,value 描述:

 

禁用和选中所有页面上的复选框。

 

jQuery 代码:

 

$("input[type=\'checkbox\']").prop("disabled", false);
$("input[type=\'checkbox\']").prop("checked", true);

 

参数key,回调函数 描述:

 

通过函数来设置所有页面上的复选框被选中。

 

jQuery 代码:

 

$("input[type=\'checkbox\']").prop("checked", function( i, val ) {
  return !val;
});

removeProp(name):用来删除由.prop()方法设置的属性集

随着一些内置属性的DOM元素或window对象,如果试图将删除该属性,浏览器可能会产生错误。jQuery第一次分配undefined值的属性,而忽略了浏览器生成的任何错误

 

例子:

HTML 代码:
<p> </p>
jQuery 代码:
var $para = $("p");
$para.prop("luggageCode", 1234);
$para.append("The secret luggage code is: ", String($para.prop("luggageCode")), ". ");
$para.removeProp("luggageCode");
$para.append("Now the secret luggage code is: ", String($para.prop("luggageCode")), ". ");
结果:The secret luggage code is: 1234. Now the secret luggage code is: undefined. 

 

addClass(class|fn):为每个匹配的元素添加指定的类名。

此函数必须返回一个或多个空格分隔的class名。接受两个参数,index参数为对象在这个集合中的索引值,class参数为这个对象原先的class属性值。

例子:

jQuery 代码:
$("p").addClass("selected");
$("p").addClass("selected1 selected2");

HTML 代码:
<ul>
      <li>Hello</li>
      <li>Hello</li>
      <li>Hello</li>
</ul>
jQuery 代码:
$(\'ul li:last\').addClass(function() {
  return \'item-\' + $(this).index();
});
 

 

removeClass([class|fn]):从所有匹配的元素中删除全部或者指定的类。

此函数必须返回一个或多个空格分隔的class名。接受两个参数,index参数为对象在这个集合中的索引值,class参数为这个对象原先的class属性值。

从匹配的元素中删除 \'selected\' 类

jQuery 代码:
$("p").removeClass("selected");

删除匹配元素的所有类

jQuery 代码:
$("p").removeClass();

删除最后一个元素上与前面重复的class

jQuery 代码:
$(\'li:last\').removeClass(function() {
    return $(this).prev().attr(\'class\');
});

toggleClass(class|fn[,sw]):如果存在(不存在)就删除(添加)一个类。


 

参数class 描述:

为匹配的元素切换 \'selected\' 类

jQuery 代码:
$("p").toggleClass("selected");

参数class,switch 描述:

每点击三下加上一次 \'highlight\' 类

HTML 代码:
<strong>jQuery 代码:</strong>
jQuery 代码:
  var count = 0;
  $("p").click(function(){
      $(this).toggleClass("highlight", count++ % 3 == 0);
  });

回调函数 描述:

根据父元素来设置class属性

jQuery 代码:
$(\'div.foo\').toggleClass(function() {
  if ($(this).parent().is(\'.bar\') {
    return \'happy\';
  } else {
    return \'sad\';
  }
});
 

jQuery - 设置内容和属性

设置内容 - text()、html() 以及 val()

我们将使用前一章中的三个相同的方法来设置内容:

  • text() - 设置或返回所选元素的文本内容
  • html() - 设置或返回所选元素的内容(包括 HTML 标记)
  • val() - 设置或返回表单字段的值

html([val|fn]):取得第一个匹配元素的html内容。这个函数不能用于XML文档。但可以用于XHTML文档。

在一个 HTML 文档中, 我们可以使用 .html() 方法来获取任意一个元素的内容。 如果选择器匹配多于一个的元素,那么只有第一个匹配元素的 HTML 内容会被获取。

function(index, html)FunctionV1.4

此函数返回一个HTML字符串。接受两个参数,index为元素在集合中的索引位置,html为原先的HTML值。

无参数 描述:

返回p元素的内容。

jQuery 代码:
$(\'p\').html();

参数val 描述:

设置所有 p 元素的内容

jQuery 代码:
$("p").html("Hello <b>world</b>!");

回调函数描述:

使用函数来设置所有匹配元素的内容。

jQuery 代码:
$("p").html(function(n){
    return "这个 p 元素的 index 是:" + n;
    });

 text([val|fn]):取得所有匹配元素的内容。

结果是由所有匹配元素包含的文本内容组合起来的文本。这个方法对HTML和XML文档都有效。

function(index, text)FunctionV1.4

此函数返回一个字符串。接受两个参数,index为元素在集合中的索引位置,text为原先的text值。

无参数 描述:

返回p元素的文本内容。

jQuery 代码:
$(\'p\').text();

参数val 描述:

设置所有 p 元素的文本内容

jQuery 代码:
$("p").text("Hello world!");

回调函数 描述:

使用函数来设置所有匹配元素的文本内容。

jQuery 代码:
$("p").text(function(n){
    return "这个 p 元素的 index 是:" + n;
    });

val([val|fn|arr]):获得匹配元素的当前值。

在 jQuery 1.2 中,可以返回任意元素的值了。包括select。如果多选,将返回一个数组,其包含所选的值。


function(index, value)FunctionV1.4

此函数返回一个要设置的值。接受两个参数,index为元素在集合中的索引位置,text为原先的text值。


无参数 描述:


获取文本框中的值


jQuery 代码:

$("input").val();

参数val 描述:


设定文本框的值


jQuery 代码:

$("input").val("hello world!");

回调函数 描述:


设定文本框的值


jQuery 代码:

$(\'input:text.items\').val(function() {
  return this.value + \' \' + this.className;
});

参数array 描述:


设定一个select和一个多选的select的值


HTML 代码:

<select id="single">
  <option>Single</option>
  <option>Single2</option>
</select>
<select id="multiple" multiple="multiple">
  <option selected="selected">Multiple</option>
  <option>Multiple2</option>
  <option selected="selected">Multiple3</option>
</select><br/>
<input type="checkbox" value="check1"/> check1
<input type="checkbox" value="check2"/> check2
<input type="radio" value="radio1"/> radio1
<input type="radio" value="radio2"/> radio2

jQuery 代码:

$("#single").val("Single2");
$("#multiple").val(["Multiple2", "Multiple3"]);
$("input").val(["check2", "radio1"]);

 


 

 

 


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="./js/jquery-3.3.1.min.js"></script>
    <script>
        $(function(){
         //attr (属性名) 获取属性值
         //attr (属性名,属性值) 设置属性
        //  $("span").attr("data-id","1002");
        //  console.log($("span").attr("id"));
        //  console.log($("span").attr("data-id"));
         
        //  var chk=$("sex").prop("checked"); // 获取返回成布尔值 可以设置全选和反选  返回:true false
        //  console.log(chk);

        //  var chk2=$("sex").attr("checked");    //  返回:checked underfined
        //  console.log(chk2);

        //  var chk2=$("sex").attr("checked",true); 
        //  var chk2=$("sex").prop("checked",true); 
         
        $("#sex").change(function(){
            // $(":checkbox").prop("checked",false); 
            var chk1= $(this).prop("checked");
            $(":checkbox:not([id])").prop("checked",chk1); 
            // console.log(chk1);
        })

        $("#sex2").change(function(){ 
            // $(":checkbox").each(function(index,item){
            //   var ck=$(item).prop("checked");
            //     console.log(ck);
            // }); 

            $(":checkbox:not([id])").each(function(index,item){
              var ck=$(item).prop("checked"); 
              $(item).prop("checked",!ck);
                console.log(ck);
            }); 
            
        })
        // 没有参数值时获取 含有参数之时设置
        // html 包含HTML标签的起码   div<span>span</span>
        // text 获取纯文本  divspan
        // val  获取交互控件(表单控件)的值   ""
        // 在设置时,HTML会解析其中的值,text不会解析,只是原样输出

        var html=$("div").html();
        var text=$("div").text();
        var val=$("div").val();
         console.log(html,text,val);
        //css修改行内样式
        $("div").css("color","red");
        //方法
        $("div").css("width");//方法一
        $("div").width(); // 方法二 不传参数获取 传参数时设置


        })
    </script>
</head>
<body>
    <div class="a" style="">div<span>span</span></div>
    <form action="#">
        <span id="name">姓名:</span>
        <input type="text" name="name" >
        <br>
        <!-- <span id="name">姓别:</span> -->
        <input type="checkbox" name="sex" id="sex" >
        <label for="sex">全选/全不选</label>

        <input type="checkbox" name="sex2" id="sex2" >
        <label for="sex">反选</label>

        <input type="checkbox" name=""   >
        <input type="checkbox" name=""   >
        <input type="checkbox" name=""   >
    </form>
</body>
</html>

 

 
 

 

 

text()、html() 以及 val() 的回调函数

上面的三个 jQuery 方法:text()、html() 以及 val(),同样拥有回调函数。回调函数有两个参数:被选元素列表中当前元素的下标,以及原始(旧的)值。然后以函数新值返回您希望使用的字符串。

下面的例子演示带有回调函数的 text() 和 html():

 

 

设置属性 - attr()

jQuery attr() 方法也用于设置/改变属性值。

下面的例子演示如何改变(设置)链接中 href 属性的值:

 

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js">
</script>
<script>
$(document).ready(function(){
  $("button").click(function(){
    $("#runoob").attr("href","http://www.runoob.com/jquery");
  });
});
</script>
</head>

<body>
<p><a href="//www.runoob.com" id="runoob">菜鸟教程</a></p>
<button>修改 href 值</button>
<p>点击按钮修改后,可以点击链接查看链接地址是否变化。</p>
</body>
</html>

attr() 方法也允许您同时设置多个属性。

下面的例子演示如何同时设置 href 和 title 属性:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js">
</script>
<script>
$(document).ready(function(){
  $("button").click(function(){
    $("#runoob").attr({
      "href" : "http://www.runoob.com/jquery",
      "title" : "jQuery 教程"
    });
    // 通过修改的 title 值来修改链接名称
    title =  $("#runoob").attr(\'title\');
    $("#runoob").html(title);
  });
});
</script>
</head>

<body>
<p><a href="//www.runoob.com" id="runoob">菜鸟教程</a></p>
<button>修改 href 和 title</button>
<p>点击按钮修改后,可以查看 href 和 title 是否变化。</p>
</body>
</html>

attr() 的回调函数

jQuery 方法 attr(),也提供回调函数。回调函数有两个参数:被选元素列表中当前元素的下标,以及原始(旧的)值。然后以函数新值返回您希望使用的字符串。

下面的例子演示带有回调函数的 attr() 方法:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<title>菜鸟教程(runoob.com)</title> 
<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
<script>
$(document).ready(function(){
    $("button").click(function(){
        $("#runoob").attr("href", function(i, origValue){
            return origValue + "/jquery";
        });
    });
});
</script>
</head>
<body>

<p><a href="//www.runoob.com" id="runoob">菜鸟教程</a></p>

<button>修改 href 值</button>

<p>点击按钮修改后,可以点击链接查看 href 属性是否变化。</p>

</body>
</html>
例子:$("img").attr("title", function() { return this.src });

分类:

技术点:

相关文章: