Добавить в parsexml

Мне нужна помощь в завершении кода, потому что у меня возникли проблемы с правильным синтаксисом. У меня есть синтаксический анализ XML, и я использую добавление для отображения данных. Я также пытаюсь выполнить событие щелчка для отправки данных в Google Analytics, но здесь я не могу понять это правильно. Это то, что я хочу добавить onclick = "dataLayer.push ({'event': 'button1-click'});" в интерфейсе, но я не могу добавить одинарную кавычку в добавление.

это код

$(document).ready(function () {
  $.ajax({
      type: "GET",
      url: "https://www.nomuraconnects.com/rss/articles",
      dataType: "xml",
      success: parseXml
  });
});

function parseXml(xml) {
  $("#main").html("<div class='section group' id='content' data-role='listview' data-inset='true'></div>");
  $(xml).find("item").slice(0, 2).each(function () {
      $("#content").append("<a target='_blank' href='" + $(this).find("link").text() + "' onclick='dataLayer.push({});'><div class='col span_1_of_2'><div class='thumbnail'><img src='" + $(this).find("enclosure").attr('url') + "'/></div><div class='text-box'><h2>" + $(this).find("title").text() + "</h2><p>" + $(this).find("description").text() + "</p></div></div></a>");
  });
}

Спасибо

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
40
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете использовать jQuery(html, attributes) для установки обработчиков событий, HTML и атрибутов динамически создаваемого элемента.

const dataLayer = [];

$("#content")
.append($("<a>",{
  target: "_blank" // set `target` attribute
, href: "javascript:void 0" // set `href` attribute
, html: "<div>parent div" // set `innerHTML`
       + "<div>child div 1<img alt='img'/></div>"
       + "<div>child div 2<h2>h2</h2><p>p</p></div></div>"
, on: { // set event handlers
       click: function(e) { // set `click` event
                dataLayer.push({"event": "button1-click"});
                console.info(dataLayer);
              }
      }
}));
.as-console-wrapper{max-height:25% !important}
<script src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id = "content"></div>

Спасибо за вышеизложенное, все данные поступают из xml в моем предыдущем методе. Я получал href, используя this + $ (this) .find ("title"). Text () + в вашем методе, как мне получить данные?

Joseph Zammit 26.11.2018 06:03

@JosephZammit Вы пробовали использовать тот же подход href:$(this).find("title").text()?

guest271314 26.11.2018 06:09

Да, спасибо, это сработало отлично. В функции щелчка, если я хочу получить URL-адрес, по которому щелкнули, как мне это сделать?

Joseph Zammit 26.11.2018 06:58

@JosephZammit this.href, который установлен в коде, должен быть URL-адресом, по которому щелкнули

guest271314 26.11.2018 07:05

Другие вопросы по теме