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

时间:2014-10-05 01:10:33

标签: javascript jquery

我有一个css类(.SideOption),它在页面上有多个实例,我想要区分它们(所以我选择了ID),但是我不能让JS获取ID,它只是在警告框中返回undefined。

JS;

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

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

这就是SideOption的例子。

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

2 个答案:

答案 0 :(得分:2)

您可以使用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);

(对于它的价值,a CSS selector cannot begin with a number。)

答案 1 :(得分:1)

你必须像这样修复你的JS:http://jsfiddle.net/csdtesting/ajnm3o4m/

将元素传递给CreateBox函数,然后取属性&#34; id&#34;使用element.id$(element).attr("id")

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

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

希望它有所帮助!