jQuery值选择器

时间:2011-02-11 21:04:19

标签: javascript jquery html

我有:

<button class="Delete" value="1">Delete</button>
<button class="Delete" value="2">Delete</button>
<button class="Delete" value="3">Delete</button>

如果变量X包含一个值(在这种情况下是1,a 2或3),那么如何隐藏与X中的值对应的按钮?

我想说的是:

$('button').val(x).hide();

含义:“值为x的按钮,隐藏”。

5 个答案:

答案 0 :(得分:34)

$('button[value="' + x + '"]').hide();

答案 1 :(得分:7)

您可以编写自己的自定义选择器(我觉得有人应该提一下)。可能看起来像:

(function($) {
    $.extend($.expr[':'], {
         val: function(elem, i, attr) {
             return elem.value === attr[3];
         }
    });
}(jQuery));

$('button:val(2)').hide();

答案 2 :(得分:6)

你可以在实际选择器中执行此操作:

$('button[value="foo"]').hide();

答案 3 :(得分:1)

这需要将x连接到xpath中,但我现在想不到另一种方式。

$(button[value='1']).hide();

编辑:删除@,显然已弃用,与我一样:)

答案 4 :(得分:0)

您甚至不必手动为按钮分配值:

var i = 0; $('.Delete').attr('value', function() {i++;    return ''+i;});

会对你做的。现在,您可以计算按钮值。 但是没关系,(你甚至不需要价值观!)你可以通过这样做隐藏'这个点击按钮':

$(".Delete").click(function() {
$(this).html("DELETED!").delay(900).slideUp(600).hide();
});

我添加了一些动画。 或两者结合! CIAO:)