Как указать селектор класса в веб-очистке с помощью nodejs - PullRequest
0 голосов
/ 02 апреля 2012

Пытаюсь реализовать очистку с помощью nodejs.Отправляю запрос на конкретный URL, и когда я получаю ответ, использую ответ, сохраняю каждый продукт на странице в массиве.Для каждого продукта я пытаюсь отобразить детали продукта, такие как название продукта, цена, скидка и т. Д. Я делаю это с помощью следующего кода.

var $products = $body.find('.fashion-item');
$products.each(function (i, item) {
    var $name = ($(item).find('.info .title').text(),
        $price=$(item).find('span.price.regular').text().substr(6),
        $discount=$(item).find('span.price.percentoff').text().slice(0,2);
    self.items[i] = {
        title: $name,
        price: $price,
        discount: $discount,
    };
});
console.log(self.items);

Работает нормально.Если имя класса похоже на «fashion-item» или «fashion-item-first», все это прекрасно работает.Но если имя класса содержит пробел между словом, я не получаю никаких продуктов, хранящихся в массиве ($ products), т.е. длина массива $ products равна нулю.Мой вопрос заключается в том, как сделать то же самое, если имя класса, например, «fashion-item first».Я очень старался, но понятия не имел.Пожалуйста, помогите мне.

Ответы [ 2 ]

1 голос
/ 02 апреля 2012

Имена классов не могут содержать пробелов. В вашем примере 'fashion-item first' - это два класса, назначенных элементу, которые могут быть выбраны с помощью селекторов .fashion-item или .first.

0 голосов
/ 02 апреля 2012

Если вы хотите, чтобы предмет, имеющий информацию и заголовок, выбирал их следующим образом:

$(item).find('.info.title')

Если вы хотите создать один из этих классов, используйте этот

$(item).find('.info,.title)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...