如何从HTML表格单元格中向DOM元素发送javascript参数?

时间:2017-09-02 03:55:20

标签: javascript html d3.js

我有以下项目,我在国际象棋开放的地方工作 表格形式的曲目。

http://web.ics.purdue.edu/~mjschwei/chesstable/3/

对于每一个动作,我想要一个链接,使董事会处于变体中该点出现的位置,并且评论 我每次搬家都有。 Chessboard.js很容易放入任何位置,它只需要一个fen字符串

如何将以下信息发送到棋盘

fen位置,即这样的信息" rnbqkbnr / pppppppp / 8/8 / 4P3 / 8 / PPPP1PPP / RNBQKBNR" 和评论信息,与移动到评论div相关联的文本信息,像这样 "这是Ruy Lopez的开始,这是White的最开口之一"

在这个例子中 http://web.ics.purdue.edu/~mjschwei/chesstreed3/20/

当我点击一个节点时,我能够将评论信息和fen(董事会位置)信息传递给"评论"分别是div和javascript棋盘,因为每个节点和每个移动的信息都存储在JSON文件中,如下所示:

"name" : "Ruy Lopez",
   "children" : [
      {
         "name" : "e4",
          "move" : "1",
         "text" : "The Open Game",
         "fen" : "rnbqkbnr/pppppppp/8/8/4P3/8/PPPP1PPP/RNBQKBNR",
         "side" : "white",
         "nodecolor" : "GhostWhite",
         "textcolor" : "DarkSlateGrey",
         "variation" : "Open Game",
         "type" : "normal",
         "children" : [
            {
               "name" : "e5",
               "move" : "1",
               "text" : "E4 is met with the symmetrical e5, indicating the liklihood of a sharp game",
               "fen" : "rnbqkbnr/pppp1ppp/8/4p3/4P3/8/PPPP1PPP/RNBQKBNR",
               "side" : "black",
               "nodecolor" : "DarkSlateGrey",
               "textcolor" : "white",
               "variation" : "Open Game",
               "type" : "normal",
               "children" : [
                  {

             ------

当我点击一个节点时,会发生这种情况

function click(d) {
  if (d.children) {
    d._children = d.children;
    d.children = null;
  } else {
    d.children = d._children;
    d._children = null;
    d3.select("#info").text(d.text);
    d3.select("#score1").text(d.name);
    board.position(d.fen)
  }

其中board获取fen信息,info div获取文本信息。 D3.js让我很容易,因为Json的框架使得存储和发送信息变得容易。

但是,在HTML表格中构建它,如果没有d3.js和Json文件,我有点失落。我只有这个链接

<td class="black" id="3a6-"><a href="#">a6</a></td>

而且我不知道在哪里放置分支,文本,评论或其他信息,也不知道如何发送它。有人可以帮忙吗?

这是我的第一个问题,我自己制定了很多d3.js,而且我不想让任何人恶化或遇到麻烦,但我没有&#39不知道怎么回答。

1 个答案:

答案 0 :(得分:1)

在哪里放置fen,文本,评论?

<td class="black" id="3a6-"><a href="#">a6</a></td>

您可以将其放在HTML 5数据属性

   <td class="black" id="3a6-" data-fen="" data-text= "" data-comment="" ><a href="#">a6</a></td>

并像这样打电话

&#13;
&#13;
var aaa = $("#test").data('fan')

console.log(aaa)
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<html>
<body>
  <div id = "test" data-fan="fan is the best"></div>
</body>
</html>
&#13;
&#13;
&#13;