Это допустимое условное выражение jquery? - PullRequest
0 голосов
/ 20 мая 2010
 if (tag == 'td' && $(this).hasClass('status')) {
        // I am clearing everything inside the td with class status
        $(this).html('')
    }

Но, похоже, это не проясняет ... Любое предложение ...

Я настраиваю плагин формы,

$.fn.clearForm = function() {
    return this.each(function() {
        var type = this.type, tag = this.tagName.toLowerCase();
        if (tag == 'form')
            return $(':input', this).clearForm();
        if (type == 'text' || type == 'password' || tag == 'textarea' )
            this.value = '';
        else if (type == 'checkbox' || type == 'radio')
            this.checked = false;
        else if (tag == 'select')
            this.selectedIndex = -1;
        else if (tag == 'td' && $(this).hasClass('status')) {
            // if you want to remove everything, use this
            $(this).html('');
        }
    });
};

Ответы [ 2 ]

2 голосов
/ 20 мая 2010

Почему бы просто не сделать:

$('td.status').empty();
1 голос
/ 20 мая 2010

Глядя на код (в вашем редактировании) и предполагая, что вы вызываете функцию, выполняя что-то вроде $('#myForm').clearForm() (где myForm - элемент формы), тогда она никогда не будет обрабатывать td элементы. Код принимает форму и затем возвращается к элементам :input этой формы , чтобы очистить их. Учитывая, что td не является input, они не будут включены в клиринг.

Если вы так используете, вы можете настроить его следующим образом, чтобы очистить также td (в форме):

$.fn.clearForm = function() {
    return this.each(function() {
        var type = this.type, tag = this.tagName.toLowerCase();
        if (tag == 'form') {
            $('td.status', this).empty();
            return $(':input', this).clearForm();
        }
        if (type == 'text' || type == 'password' || tag == 'textarea' )
            this.value = '';
        else if (type == 'checkbox' || type == 'radio')
            this.checked = false;
        else if (tag == 'select')
            this.selectedIndex = -1;
    });
};
...