天天看點

【 D3.js 入門系列 --- 2.1 】 關于如何選擇,插入,删除元素

 本人的個人部落格首頁為: http://www.ourd3js.com/  ,csdn部落格首頁為:http://blog.csdn.net/lzhlzz/。轉載請注明出處,謝謝。

在D3.js中,選擇元素的函數有兩個:select 和 selectAll 。 先說明一下它們的差別:

  • select 是選擇所有指定元素的第一個
  • selectAll 是選擇指定元素的全部(以用于後面同時操作)

來看一個具體的例子,現有如下代碼:

<html>  
  <head>  
        <meta charset="utf-8">  
        <title>select,append,exit</title>  
  </head> 
</style>
    <body>  
	<h1>This is a cat.</h1>
	<h1>That is a dog.</h1>
	<h1>I like cat.</h1>
		
	<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script>  
        <script>
		
        </script>  
  
    </body>  
</html>  
           

熟悉HTML的朋友一定會知道上面的代碼輸出什麼,是三行h1大小的标題。如果要完成兩種選擇任務:選擇第一個h1 和 同時選擇三個h1 。

代碼如下:

var body = d3.select("body");           //選擇body(第一個body,當然也隻有一個body)
var h1 = body.select("h1");             //選擇第一個h1
var all_h1 = body.selectAll("h1");      //選擇所有的h1
           

為了證明上面的變量h1選擇的是第一個h1,all_h1選擇的是所有的h1,我們加上代碼:

h1.style("color","red");
           

給h1變量選中的元素上色,加上這一句,會發現結果為:

【 D3.js 入門系列 --- 2.1 】 關于如何選擇,插入,删除元素

如此,我們可以證明我們選中的是第一個元素。

如果換上代碼:

all_h1.style("color","blue");
           

會發現三行文字都變成了藍色。

那麼如果想選擇第二個h1呢?正如上一節所說的,有兩種方法,要麼給h1加id,要麼用function的形式,詳細見上一節。

接下來在body裡新插入一個h1。

var new_h1 = body.append("h1");
new_h1.text("Append new h1");
           

這裡表示在body裡新插入一個h1标簽,插入之後傳回新插入的元素,再設定文字為Append new h1。

删除一個元素時,對于選擇的元素使用remove,如:

new_h1.remove();
           

這是删除new_h1變量中選擇的元素。

繼續閱讀