<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # d3對dom的操作 ## 查找selection selection使用類似與jquery的$()選擇 在使用上有.: - `.select()` 選擇一個 - `.sleectAll()` 選擇一組 例如以下文檔結構 ``` html <!DOCTYPE html> <html lang="en"> <head> </head> <body> <div id="a1" class="s1"> <div id="b1"> <div id="c1" class="s1"></div> </div> <div id="b2"> <div id="c2" class="s1"></div> </div> <div id="b3"> <span id="c3"></span> </div> </div> <div id="A1" class="s1"></div> </body> </html> ``` 操作實例如下: ``` js d3.select('#a1').select('div') //將會選中id為b1的div d3.select('#a1').selectAll('div') //將會選中id為b1,b2,b3的三個div d3.select('#a1').selectAll('.s1') //將會選中id為c1,c2的兩個div ``` 思考:d3.selectAll('.s1')選中了哪些div? ## 創建create create有兩種方式: - `.append()` 追加 - `.insert()` 插入 例如以下文檔結構 ``` html <!DOCTYPE html> <html lang="en"> <head> </head> <body> <div id="a1" class="s1"> <div id="b1"> <div id="c1" class="s1"></div> </div> <div id="b2"> <div id="c2" class="s1"></div> </div> <div id="b3"> <span id="c3"></span> </div> </div> <div id="A1" class="s1"></div> </body> </html> ``` ``` js d3.select('a1').append('div') //將會在id為b3后面創建一個div d3.select('a1').insert('div') //將會在id為b1前面創建一個div ``` 思考:d3.selectAll('.s1').insert('div')將會如何創建div? ## remove 刪除節點和selection幾乎一樣,.remove()和.removeAll().所以不再贅述。 ## 綁定數據 綁定數據的實質是將數據賦值到對應dom的property的`__data__`屬性上。 兩種方式: - `.data()` //將數組的子元素依次綁定到選擇的dom中 - `.datum()` //將數據全部分別綁定到選擇dom中 ``` html <!DOCTYPE html> <html lang="en"> <head> </head> <body> <div id="a1" class="s1"> <div id="b1"> <div id="c1" class="s1"></div> </div> <div id="b2"> <div id="c2" class="s1"></div> </div> <div id="b3"> <span id="c3"></span> </div> </div> <div id="A1" class="s1"></div> </body> </html> ``` ``` js d3.select('#a1').selectAll('div').data([1,2,3,4,5,6]) // 會為#b1綁定1,會為#b2綁定2,會為#b3綁定3 d3.select('#a1').selectAll('div').datum([1,2,3,4,5,6]) // 會為#b1,b2,b3均綁定[1,2,3,4,5,6] ``` 問題來了?data綁定數據時數據數組過長,我想選中有數據沒有dom的呢?如果數據數組過短,只有dom沒有數據如何選中? 那就是接下的操作: - `.enter()` //選中只有數據沒有dom的部分。其后面常跟隨.append('div'),這里創建后數據是綁定了的。 - `.exit()` //選中的是只有dom沒有數據的部分,其后面跟什么?.removeAll(); - `.merge(selectionA)` //將選中集與selectionA合并成新的選擇集 ``` javascript /** *data為數組 */ update(dataSet){ var root=d3.select('div'); var divs = root.selectAll('div') .data(dataSet) //刪除沒有數據的dom divs.exit().remove() //為有數據沒有dom的添加dom,并將有數據有dom的合并在一起,修改class divs.enter().append("div") .merge(divs) .attr("class",function(d){return 's'+d}) } ``` 思考:假如傳遞一個[1,2,3,4,5,6]會得到什么樣的結構? ## 其他常見操作 - `.html()` 插入html代碼 - `.text()` 插入文本 - `.on()` 添加事件監聽 - `.filter()` 過濾 - `.stytle()` 修改/獲取樣式 - `.each()` 遍歷 - `.node()` 返回dom對象 - `.nodes()`返回dom對象集 等等,在以后源碼中遇到再補充,其余的請參考官方文檔。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看