Js/Jquery 設置獲取屬性

<body>
<div id="tree" data-leaves="47" data-plant-height="2.4m"></div>
<script>
    var tree = document.getElementById("tree");

    console.log('---------js attr---------------');
    //getAttribute()取值屬性
    console.log(tree.getAttribute("data-leaves")); //47
    console.log(tree.getAttribute("data-plant-height")); //2.4m
    //setAttribute()賦值屬性
    tree.setAttribute("data-leaves","48");
    //data-前綴屬性可以在JS中通過dataset取值,更加方便
    console.log(tree.dataset.leaves);  //  48
    console.log(tree.dataset.plantHeight);  //2.4m

    console.log('---------js data---------------');
    //賦值
    tree.dataset.leaves--;
    tree.dataset.plantHeight = "3m";
    console.log(tree.dataset.leaves);  //  47
    console.log(tree.dataset.plantHeight);  //3m

    console.log('-----------jquery 操作-------------');

    //新增data屬性
    tree.dataset.age = "100";
    //刪除,設置成null,或者delete
    tree.dataset.leaves = null;
    delete tree.dataset.age;
    console.log(tree.dataset.leaves); // null
    console.log(tree.dataset.age);  // undefined

    console.log('-----------jquery data-------------');
    //jQuery的data方法
    var $tree = $('#tree');
    console.log($tree.data("plant-height")); // 3m

    console.log('-----------jquery attr-------------');
    // jquery  attr
    $tree.attr('data-file','file_name');
    $tree.attr('disabled',true);
    console.log($tree.attr('data-file'));// file_name
    console.log($tree.attr('disabled'),'值類型:',typeof $tree.attr('disabled'));  // disabled 值類型: string
    console.log($tree.attr('checked'));  // undefined

    console.log('-----------jquery prop-------------');
    // jquery  prop
    $tree.prop('data-file','file_name');
    $tree.prop('disabled',true);
    console.log($tree.prop('data-file'));// file_name
    console.log($tree.prop('disabled'),'值類型:',typeof $tree.prop('disabled')); // true '值類型:' 'boolean'
    console.log($tree.prop('checked'));  // undefined
</script>
</body>

prop()函數的結果:

      1.如果有相應的屬性,返回指定屬性值。

      2.如果沒有相應的屬性,返回值是空字符串。

attr()函數的結果:

      1.如果有相應的屬性,返回指定屬性值。

      2.如果沒有相應的屬性,返回值是 undefined。

對於HTML元素本身就帶有的固有屬性,在處理時,使用prop方法。

對於HTML元素我們自己自定義的DOM屬性,在處理時,使用 attr 方法。

具有 true 和 false 兩個屬性的屬性,如 checked, selected 或者 disabled 使用prop()。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章