2013-09-24 2 views
0

У меня есть строка div с тем же классом css (.nav_div), с различным текстом в каждом, в панели навигации. Они созданы так:Получить содержимое щелкнутого div

<div class=nav_div>Contact</div>... 

Я установил все эти дивы ввести функцию при любом щелчке на этом:

$('.nav_div').click(nav_is_clicked); 

В функции nav_is_clicked(), я хочу, чтобы сохранить содержимое из div, который был нажат в переменной под названием div_text, но у меня проблемы. Это не работает:

var div_text = $(this).contents().text(); 

Как получить текст из div, который был нажат?

Спасибо.

+1

'$ (this) .text()' или '.html()' –

+0

Обязательно прочтите, что такое 'contents' и' text' do ... – gdoron

+0

@ A.Wolff, это правильный ответ. Вероятно, вы должны создать ответ, чтобы это можно было пометить как ответ. –

ответ

1

Просто используйте text(). contents() дает вам «детей каждого элемента в наборе согласованных элементов, включая текстовые и комментарии узлов.», который не то, что вы хотите.

$('.nav_div').click(nav_is_clicked); 

function nav_is_clicked() { 
    var div_text = $(this).text(); 
} 

Edit -

Похоже, ваш исходный код на самом деле работает: http://jsfiddle.net/SLVEs/

Вы связывание обработчика щелчка, прежде чем элемент существует (например, перед загрузкой страницы)?

+0

Да, оригинал действительно работает. Огромное спасибо. Моя ошибка заключалась в заявлении о предупреждении, которое я пытался отобразить с помощью содержимого. Вот что было не так. Спасибо за вашу помощь. – user1663218

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