@Railchik

Почему тег img выбрасывает из тега a?

Получаю get-ом строку с html. Эту сроку перевожу в объект и пытаюсь распарсить и получить элемент.
Пример из отладчика:
var myVariable = '<ul class=\"products\">\n\t\t\t\t\t\t\t\t\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t\n<div class=\"row no-gutter\"><div class=\"col-sm-offset-2 col-sm-4 col-md-offset-0 col-md-3 item\">\n\n\t<div class=\"frame bg-grey\">\n\n\t\n\t<a href=\"http:\/\/500na700\/shop\/chair3\/\" class=\"poster-wrapper\"><\/a>\n\t\n\t\t\n\t\t<a href=http:\/\/500na700\/shop\/chair3\/><img width=\"300\" height=\"420\" src=\"http:\/\/500na700\/wp-content\/uploads\/2015\/10\/Stul_pechat-300x420.jpg\" class=\"poster-img wp-post-image\" alt=\"Стул_печать\" \/><\/a>\t\n\t\t\n\t<\/div>\n\t\n\t<h3>&quot;Chair3&quot;<\/h3>\n<p>polina_mix<\/p>\t\n<\/div>\n\n\n\t\t\t\t\n\t\t\t<\/ul>\n\t\t\t<nav class=\"woocommerce-pagination\">\n\t<ul class=\'page-numbers\'>\n\t<li><a class=\"prev page-numbers\" href=\"http:\/\/500na700\/page\/1\/\">&larr;<\/a><\/li>\n\t<li><a class=\'page-numbers\' href=\'http:\/\/500na700\/page\/1\/\'>1<\/a><\/li>\n\t<li><span class=\'page-numbers current\'>2<\/span><\/li>\n<\/ul>';
console.log($(myVariable));
console.log($(myVariable).html());

Во втором теге a есть вложенная картинка, но в консоль выводится как раздельно.
  • Вопрос задан
  • 229 просмотров
Решения вопроса 2
alexey-m-ukolov
@alexey-m-ukolov Куратор тега JavaScript
Адрес внутри ссылки нужно обернуть в кавычки - слеши внутри url делают тег невалидным и браузер его автоматически закрывает.
https://jsfiddle.net/wjw4h4rp/

А вообще, это ужас, конечно.
Ответ написан
Потому что у вас в <a href=http:\/\/500na700\/shop\/chair3\/> значение href без кавычек.
Парсер видит слеш, думает что это закрытие тега. Возьмите http:\/\/500na700\/shop\/chair3\/ в кавычки:
<a href=\"http:\/\/500na700\/shop\/chair3\/\">
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы