小编way*_*are的帖子

如何在单击jQuery函数中正确传递$(this)

我想在jQuery中创建一个tictactoe项目,我遇到了一个重大问题......

瓷砖在<td>标签中,我试图使其成为当用户点击瓷砖时,它调用"标记"功能.

如果我们现在查看"标记"函数,$(this)则意图<td>是调用函数的节点.

但是,它没有做任何事情,所以我检查了控制台,显然$(this)是包含DOM Window对象.

无论如何我可以发送正确$(this)的"标记"功能吗?

谢谢!

<script type="text/javascript">

    var TURN_X = false;
    var TURN_O = true;

    var turn = false;  // this is to see whos turn it is.

    $(document).ready(function(){

        var listCells = $.makeArray($("td"));
        $("td").click(function(){marked(listCells)});   //THIS IS WHERE I HAVE PROBLEMS
        return false;
    });

    function marked(arr)
    {
        console.log($(this));  // THIS CONSOLE LOG RETURNS "DOM Window"
        $(this).addClass("marked");

        if(turn == TURN_X)
        {
        this.innerHTML = "X";
        turn = false;
        }
        else
        this.innerHTML …
Run Code Online (Sandbox Code Playgroud)

jquery click this

26
推荐指数
2
解决办法
8万
查看次数

如何使用jQuery隐藏Google Maps Api Markers

您好,这可能是一个非常愚蠢的问题,但我想在点击它们时让标记消失.标记位于地图上,但是当我点击它时,它没有做任何事情.我想知道它为什么不起作用.谢谢!

  <script type="text/javascript" src="jQuery.js"></script>
  <script type="text/javascript">

  $(document).ready(function(){
      var myOptions = {
        center: new google.maps.LatLng(40.1, -88.2),
        zoom: 13,
        mapTypeId: google.maps.MapTypeId.ROADMAP
      };
      var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

      var myLatlng = new google.maps.LatLng(40.1, -88.2);
      var temp_marker = new google.maps.Marker({
          position: myLatlng,
          map: map,
          title:"Hello World!"
        });

      console.log($(temp_marker));
      console.log(temp_marker);

      //temp_marker.click(function(){$(this).hide();});

      $(temp_marker).click(function(){console.log("click is working"); $(this).hide();});
          });
  </script>
</head>
<body>
  <div id="map_canvas" style="width:100%; height:100%"></div>
</body>
Run Code Online (Sandbox Code Playgroud)

jquery google-maps google-maps-api-3

23
推荐指数
1
解决办法
5万
查看次数

重载operator << for ostream语法

上个学期我上过一些班级的旧任务.这是打印出链表对象的给定打印功能.我不明白为什么重载运算符需要两个参数,一个是os对象.当我们在main.cpp上打印出实际的链表对象时,我们不需要传递一个os对象.另外,为什么它会返回os?为什么我们不能只使用cout而不是"os <<"?

谢谢!

template <class T>
void List<T>::print(ostream & os) const
{
    os << "<";
    ListNode * curr = head;
    while (curr != NULL) {
        os << " " << curr->data;
        curr = curr->next;
    }
    os << " >";
}



// overloaded operator<<
template <class T>
ostream & operator<<(ostream & os, const List<T> & list)
{
    list.print(os);
    return os;
}
Run Code Online (Sandbox Code Playgroud)

c++ operator-overloading ostream

3
推荐指数
1
解决办法
2370
查看次数