2015-11-13 5 views
0

Я пытаюсь получить innerText элемента 'TD', используя родительские элементы jQuery() и find().jQuery родители(), имеющие разные выходы в Firefox и Chrome

allTitles = $("[href='/myLink/param?foo=1234']").parents("table:first").parents("table:first").find(".field_text"); 
name = allTitles[0].children[0].innerText; 
console.log(name); 

Код прекрасно работает в Chrome, но в Firefox консоль печатает «null».

Я сделал некоторую отладку и проблема, кажется, в функции parents(). Хотя в Chrome я получаю все атрибуты из элементов таблицы, в Firefox кажется, что атрибуты не читаются и, следовательно, приводят к «null», когда мы вызываем find («. Field_text»).

Почему Chrome и Firefox ведут себя иначе, хотя я использую один и тот же файл jQuery?

+0

Может включать 'html' т Вопрос, создать stacksnippets продемонстрировать? – guest271314

+0

Это может быть из-за некоторой недействительной разметки HTML, по-разному разобранной в каждом браузере –

ответ

0

JavaScript обрабатывается по-разному в браузерах. Это может быть связано с этим. Поскольку вы уже используете jQuery, вы можете просто использовать его для своего второго запроса. Кроме того, если вы находитесь в контроле вашего HTML, вы можете сделать свой первый запрос намного проще, добавив класс второй Parant таблице:

var allTitles = $("[href='...']").closest(".your-class").find(".field_text"); 
var name = allTitles.children().first().text(); 
console.log(name); 
Смежные вопросы