2012-02-12 2 views
0

Я пытаюсь найти ячейку в таблице, которая имеет класс «пустой», тогда я использую немного кода, чтобы найти идентификатор (номер ячейки), чтобы я мог узнать, какие ячейки следующие тоже.Код JQuery не работает

слишком ли она работает, я пытаюсь:

console.log($('.empty').attr('id')); 

но Firebug просто возвращает «неопределенными»

каждая ячейка имеет класс «коробки» и только один имеет пустой, а так 'box empty'.

Любая оценка будет очень признательна.

+2

Пожалуйста, покажите вашу разметку. –

+0

'$ ('. Empty')' может возвращать массив элементов DOM. В этом случае сам массив не имеет атрибут – user482594

+1

показать HTML пожалуйста –

ответ

2

Возможно, DOM не готов. Поместите код внутри на DOM готового события:

$(function(){console.log($('.empty').attr('id'));}); 
//or 
$(document).ready(function(){console.log($('.empty').attr('id'));}); 

Update:

Основываясь на разметке вы написали, селектор вам нужен селектор атрибута не класс:

<td id="B" class="leftbox" name="empty" ondragover="allowDrop(event)" 
    ondrop="drop(event,this.id)"> </td> 

$(function(){console.log($('input[name="empty"]').attr('id'));}); 
+0

$ (документ) .ready (функция() { console.log ($() атр ('ID '))' пустым.';. } каждая ячейка имеет класс 'коробки' и пустая ячейка имеет класс 'box empty', и каждая ячейка имеет идентификатор, который является его номером. – nmyster

+0

@nmyster. ha ???! – gdoron

+0

@nmyster. Я обновил ответ. – gdoron

1

$ ('. Empty') возвращает массив элемента dom, поэтому вы должны использовать цикл (для, каждый ...) для анализа resul ц

$('.empty').each(function() { 
    console.log($(this).attr('id')); 
} 

Если вы уверены, что есть только один элемент, вы можете использовать:

console.log($('.empty:first').attr('id')); 
+0

Он уверен здесь только один. но проблема, с которой он перепутал класс с именем. см. мой ответ и его комментарий к его вопросу. – gdoron

Смежные вопросы