1

我想要一个函数在单击具有 `value="frb" 的特定锚点时运行。

这是锚

<a href="<?php echo $l1; ?>" value="frb" class="button">Accept</a>

这是我尝试过的:

$('body').on('click', value[frb], function(e) {
    e.preventDefault();
});

这不起作用,我找不到任何使用它的例子,这可能吗?

4

5 回答 5

1

value不是锚标记的有效属性。取而代之的是,您可以使用data-value如下:

HTML

<a href="<?php echo $l1; ?>" data-value="frb" class="button">Accept</a>

jQuery

$('body').on('click', 'a[data-value=frb]', function(e) {
    e.preventDefault(); // prevent page reload
    alert( this.href );
});

工作样本

笔记:

@Musa已经提到过data属性,但是在他使用的 jQuery 代码片段中a[value=frb],它不起作用。

于 2012-06-24T03:29:11.033 回答
1

的第二个参数.on()应该是选择器字符串

$('body').on('click', 'a[value=frb]', function(e) {
    e.preventDefault();
});

同样a标签没有 value 属性,您应该使用 data 属性代替

<a href="<?php echo $l1; ?>" data-value="frb" class="button">Accept</a>
于 2012-06-24T00:53:44.000 回答
0

尝试这个:

$(function(){
    $('a[value=frb]').click(function(e) {
        e.preventDefault();
    });
});

它将函数分配给具有指定“值”属性的所有锚点。

于 2012-06-24T00:49:30.937 回答
0

工作演示 http://jsfiddle.net/KQy36/

http://jsfiddle.net/WP7JS/

接口:http ://api.jquery.com/on/

哦顺便说一句: http: //www.w3schools.com/tags/tag_a.asp(查看有效的a标签属性)

Anyhoo,希望这会有所帮助,

代码

$('a[value="frb"]').on('click', function(e) {
    alert('yeah wha?');
    e.preventDefault();
});​

或者在我下面的另一篇文章中。:)

$('a').on('click', function(e) {

    if ($(this).attr("value") === "frb") {
        alert('yeah wha? I am frb');
        e.preventDefault();
    } else {

        alert('not frb');
        e.preventDefault();
    }

});​
于 2012-06-24T00:50:44.773 回答
0

由于链接标签没有 value 属性,我们需要对 html 进行更改:

<span class="frb"><a href="<?php echo $l1; ?>" class="button">Accept</a></span>

然后添加这个来注册点击事件。

$(document).ready(function(){
  $('span.frb').click(function(e) {
    e.preventDefault();
  });
});
于 2012-06-24T02:47:11.690 回答