1

我正在尝试更改下面的代码,以便如果“this”包含类“search_init”,它将仅替换该类,因为标记本身应用了多个类。我尝试了 ~= 和 ^=,但这给了我关于缺少 () 的错误。

$("tfoot input").focus( function () {
            if ( this.className == "search_init" )  {
                this.className = "";
                this.value = "";
            }
        } );
4

3 回答 3

5

试试这个:

$("tfoot input").focus( function () {
    var $this = $(this);
    if ( $this.hasClass("search_init") )  {
        $this.removeClass("search_int").val('');
    }
});
于 2010-02-13T15:28:36.783 回答
1
$("tfoot input.search_init").focus( function () {
                $(this).removeClass("search_init");
                this.value = "";
            }
        } );

~= "选择具有指定属性的元素,其值包含给定单词,由空格分隔。" 这会起作用,但是使用内置的类选择器比弄乱类属性本身更有意义。与 ^= 类似,它“选择具有指定属性的元素,其值正好以给定字符串开头。”

于 2010-02-13T15:26:21.543 回答
1

应该是一个班轮:

$('tfoo input.search_init').focus(function(e) {$(this).removeClass('search_init').val('');});

顺便说一句,您可以使用.search_init:focuscss 元类更改样式。

于 2010-02-14T00:26:29.907 回答