Мне нужна помощь в завершении кода, потому что у меня возникли проблемы с правильным синтаксисом. У меня есть синтаксический анализ 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>");
});
}
Спасибо



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы можете использовать 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>@JosephZammit Вы пробовали использовать тот же подход href:$(this).find("title").text()?
Да, спасибо, это сработало отлично. В функции щелчка, если я хочу получить URL-адрес, по которому щелкнули, как мне это сделать?
@JosephZammit this.href, который установлен в коде, должен быть URL-адресом, по которому щелкнули
Спасибо за вышеизложенное, все данные поступают из xml в моем предыдущем методе. Я получал href, используя this + $ (this) .find ("title"). Text () + в вашем методе, как мне получить данные?