Javascript this.id 区分同一类的对象

标签 javascript jquery

我有一个css类(.SideOption),它在一个页面上有多个实例,我想有一些东西来区分它们(所以我选择了ID),但我无法让JS获取ID,它只是在警报框中返回未定义。

JS;

function CreateBox()
{
    $MyID = this.id;
    alert($MyID);
}

$(document).ready(function() 
{
    $(".SideOption").click(function() 
    {   
        CreateBox();
    })
})

这就是 SideOption 的示例。

<div class="SideOption" id="1">
</div>

最佳答案

您可以使用call()方法以 this 的上下文调用函数 (example)

function CreateBox() {
    $MyID = this.id;
    alert($MyID);
}
$(".SideOption").click(function () {
    CreateBox.call(this);
});

或者,您可以在单击元素时传递对 CreateBox 函数的引用 (example)

function CreateBox() {
    $MyID = this.id;
    alert($MyID);
}

$(".SideOption").click(CreateBox);

(就其值(value)而言,a CSS selector cannot begin with a number。)

关于Javascript this.id 区分同一类的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26198656/

相关文章:

JavaScript 四舍五入,不带小数

javascript - 使用 React Router v6 渲染 React 组件变量

jquery - 使用 javascript 重新加载时顺利替换图像

jquery - 单击新 div 时 Div 不隐藏

javascript - 如何让div中的文字内容反复变大变小?

javascript - 隐藏时删除模态窗口链接

javascript - 在 Firefox 中,在 keydown 事件处理程序中更改焦点会自动单击已聚焦的内容。我该如何防止这种情况?

javascript - 如何获取ondrop事件的目标id?

javascript:如何用不同的内容替换所有标签

javascript - 在 tampermonkey 中,变量 urlm 的行为有所不同