使用“this”对象,有一种简单的方法(在JS函数中)来获取被单击的标记的值

时间:2011-03-16 14:48:32

标签: javascript html this

我有span元素

     <span class="tag" onclick="clickTag(this)" tagType="property">

其中调用clickTag方法

function clickTag(clicked){
    alert(clicked.tagType);
}

是否有一种简单的方法可以获取跨度中指定的tagType标记的值。我正在使用jQuery,所以如果需要,那不是问题。当然,任何其他标准JS解决方案都是受欢迎的。

或者是否有另一种方法来指定tagType的值,从而在clickTag()方法中使用它。

3 个答案:

答案 0 :(得分:3)

function clickTag(clicked){
    alert(clicked.getAttribute("tagType"));
}

我建议您使用“data-tagType”,而不是HTML5中的标准:

<span class="tag" onclick="clickTag(this)" data-tagType="property">


function clickTag(clicked){
    alert(clicked.getAttribute("data-tagType"));
}

在jQuery中你可以使用attr方法,但我认为在这种情况下不需要它。

正如Jason Miesionczek所说,你应该使用JavaScript来添加事件监听器。

答案 1 :(得分:3)

http://api.jquery.com/attr/

$(本).attr( 'tagType');

答案 2 :(得分:2)

$(".tag").click(function() {
    var element = $(this),
        tagType;

    tagType = element.attr('tagType');
    alert(tagType);
});

最好使用纯javascript分配点击事件,而不是使用标签本身的属性。这样,如果您有多个span标记,则只需指定一次单击处理程序。