2011-12-28 4 views
1

Я ищу запуск сценария на странице, которая помещает каждый фрагмент текста, выделенный курсивом в массив.Извлеките все кусочки курсивом на странице в jQuery и/или javascript

Как я понимаю jQuery .find() вы не можете получить предметы по атрибутам, я прав?

+1

Можем ли мы увидеть некоторые из ваших HTML? –

+3

нужно ли нам написать весь код? – rene

+0

Нарисуйте приложение, которое запускает клиентскую сторону, собирает выделенный текст/полужирный текст, когда вы читаете страницу и накладываете наложение документа с помощью приложения-избирателя для каждой «пули». Нашли несколько очень классных и мобильных способов сделать это с помощью roating image и html5 arcs. Затем вы можете направить пользователя на создание комментария и добавить мнение в текстовое поле. Kinda, как атрибуты рейтинга на продукте. На стороне сервера еще нет. Изучение требуемой технологии, еще нет кода. Если кто-то хочет помочь ... – heorling

ответ

3
  • Вы должны ознакомиться с filter() методом, который является большой особенностью JQuery. Вы можете определить функцию фильтра, которую вы можете использовать, чтобы уменьшить элементы в вашей коллекции jQuery до тех, которые соответствуют вашим потребностям.

  • Вам также необходимо использовать .map(), который является еще одним супер-удобным методом, который поможет вам создать списки из ваших коллекций jQuery, определенных функцией, которую вы пишете. Используя .get(), вы можете создать простой массив Javascript из этого объекта списка jQuery.

Это базовая версия, которая будет собирать вам текстовое содержание элементов, которые font-style: italic применяются к ним:

var arr = 
    $('*') /*look at all elements*/ 
     .filter(function() { /*filter these elements*/ 
      return $(this).css('font-style') == 'italic'; /*only keep the italic*/ 
     }) 
     .map(function() { /*create a new object using these elements*/ 
      return $(this).text(); /*store the text of each selected element*/ 
     }) 
     .get(); /*convert this to an array*/ 

jsFiddle Demo

+0

Это отличный ответ. Спасибо. Это очень поможет. – heorling