javascript - 将 "this"与 javascript 和 Jquery 一起使用

标签 javascript jquery this

我正在尝试简化井字游戏的一些代码。

网格的每个部分都有“tictactoe”类和一个指定其区域的 id,例如“upleft”。我的想法是,html 元素中的 onclick 将调用一个 JavaScript 函数,该函数将在该空间中显示一个 X。

这就是我所拥有的:

HTML 元素:

<td id="upleft" onclick="displayX()" class="tictactoe"></td>

JavaScript/JQuery 函数:

                 function displayX()
                {
                        $('#upleft').text("x");
                }

基本上我想将函数更改为使用“this”而不是“#upleft”

但是当我这样做时:

                function displayX()
                {
                        $(this).text("x");
                }

左上角指定的网格不显示任何文本。首先,“this”函数是否将代码放入指定的id中?其次,我该如何解决这个问题?

最佳答案

当您定义函数内联时,您需要将DOM元素作为参数传递给函数

onclick="displayX(this)" 


function displayX(elem)
{
    $(elem).text("x");
}

编写内联 javascript 是一个坏主意.. .. 避免它..

最好将事件附加到 javascripe 文件中..

$("td").on('click', function () {
   $(this).text("x");
});

关于javascript - 将 "this"与 javascript 和 Jquery 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13749549/

相关文章:

javascript - 我怎样才能在jquery中实现表级层次结构?

jquery - stack 更大的 z-index 不是在元素的前面?

javascript - 使用javascript在工具提示中显示字符串

Java Swing 传递类实例与匿名类

javascript - 在 wordpress 和 woocommerce 中禁用 zxcvbn.min.js

javascript - 在点击事件上克隆整个 div 标签

javascript - 保留将来使用的 HTML 的最佳方法

Wordpress 中的 jQuery Roundabout CSS 位置问题

java - 在构造对象时是否有在 java 中键入 this.x = x 的快捷方式?

C++11 lambda : when do we need to capture [*this] instead of [this]?