d3.js v4入門之——選擇器

D3提供了兩種高級方法來選擇元素:select和selectAll。這些方法接收選擇器字符串。前者只返回第一個匹配的元素,後者選擇在文檔遍歷次序中所有匹配的元素。這個方法也可以接收節點,這可以用來和第三方庫例如JQuery或者開發工具($0)整合。

選中標籤節點或對應的選擇器(.class #id)

<!--
@author Semper_Fi
-->
<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <script src="https://d3js.org/d3.v5.min.js"></script>
    <title></title>
    <style>
    </style>
</head>

<body>
    <p>Hello D3.js</p>
    <p>Hello D3.js</p>
    <h4 class="change-class">666666666666</h4>
    <h6>tom</h6>
    <h6 id="change-id">jerry</h6>
    <h6 class="change-class">jason</h6>
    <a id="baidu" href="http://www.baidu.com">baidu</a>
    <p id='p'>pppppppppppppp</p>
</body>
<script>
    d3.select("body").selectAll("p").text("選擇body標籤下的所有P標籤中的文字進行替換");
    d3.select("body").select("h4").text("選擇body標籤下的h4標籤中的文字進行替換");
    // selectAll select這兩個函數返回的結果稱爲選擇集,選擇集和綁定數據通常是一起使用的。
    d3.select("h6").text("直接選擇h6標籤中的文字進行替換"); // 只會改變第一個匹配上的值
    // D3 中是通過以下兩個函數來綁定數據的,
    // datum():綁定一個數據到選擇集上
    // data():綁定一個數組到選擇集上,數組的各項值分別與選擇集的各元素綁定
    var h6 = d3.selectAll("h6");
    var str = ", 新的數據"
    // 當選擇集需要使用被綁定的數據時,常需要這麼使用。其包含兩個參數,其中:val 代表數據,也就是與某元素綁定的數據。
    // index 代表索引,代表數據的索引號,從 0 開始
    h6.datum(str).text(function(val, index){
        return "第" + index + "個數據綁定" + val;
    })

    var set = ["喜歡狗", "喜歡貓", "喜歡豬"];
    var p = d3.selectAll("p");

    p.data(set).text(function(val, index){
        return val;
    })

    var p1 = d3.select("p");
    p1.style("color", "red");

    // 通過id選擇器,精準選擇要改變的標籤
    var h6_1 = d3.select("#change-id");
    h6_1.style("color", "yellow");
    // 通過class選擇器批量選擇要改變的標籤
    var clas = d3.selectAll(".change-class");
    clas.style("color", "orange");

    // 在所有p標籤後新增一個p標籤,且該標籤和前一個標籤具有相同的樣式
    d3.select("body").selectAll("p").append("p").text("在所有p標籤後新增一個p標籤");

    // 在id=baidu的標籤前插入p標籤
    d3.select("body").insert("p", "#baidu").text("在id=baidu的標籤前插入一個p標籤")

    //
</script>
</html>
發佈了22 篇原創文章 · 獲贊 1 · 訪問量 1605
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章