Существует html div с текстом внутри.Я хочу изменить содержимое div с помощью дополнительного текста, но с интервалом текста (B) между существующим текстом (A) и тем, что я вставляю (C).В span также есть стиль css, реализованный с помощью id, но удаленный из фрагмента кода, так как он не имеет прямого значения.
Если бы span был в самом конце, я мог бы просто добавить его как потомок,который поместил бы это в конец текста div.Тем не менее, любой текст, который я позже добавлю в div, все равно будет находиться перед интервалом.Промежуток всегда будет в конце, по крайней мере, насколько я знаю.
Допустим, существующий div говорит «Hello World». Я хочу использовать Javascript, чтобы добавить следующее:
var targetDiv = div;
div.textContent = 'Hello World! ';
var spanText = div.appendChild(document.createElement('span'));
spanText.innerHTML = 'Click Me!';
spanText.onclick = function(){
perform task here;
};
div.textContent += ' Did you click it?';
В div не показывалось бы "Hello World. Click Me! Вы щелкнули по нему?"Было бы показано «Hello World. Вы щелкнули по нему? Click Me!»
Я пытался сделать интервал внутри div, используя innerHTML, при добавлении текста, например, так:
var targetDiv = div;
div.textContent = 'Hello World! ';
targetDiv.innerHTML += '<span>Click Me!</span> Did you click it?';
var spanText = div.span; //and variations such as div.children(1);
spanText.onclick = function(){
perform task here;
};
Проблема здесь в том, что я предполагаю, что, поскольку он находится во innerHTML, javascript не распознает / не находит диапазон, поэтому ему нельзя присвоить имя переменной.Или назначить клики и прочее.Здесь текст отображается правильно, как «Hello World. Click Me! Вы щелкнули по нему?», Но onclick не работает.Поэтому я попытался поместить функцию onclick (да, однострочную) внутри innerHTML, как показано ниже:
var targetDiv = div;
div.textContent = 'Hello World! ';
targetDiv.innerHTML += '<span onclick = "perform task here;">Click Me!</span> Did you click it?';
Это тоже не сработало.В отличие от первой и похожей на вторую попытку, текст отображается правильно, но функция не работает.
Что касается того, почему я делаю такое бессмысленное упражнение, это просто абстрактный пример того, над чем я работаюи я чувствовал, что загрузка действительного кода в этом случае приведет только к его ненужному контексту.Однако я готов предоставить любые разъяснения, если они необходимы.
Ваниль JS, пожалуйста.В данный момент у меня нет проекта JQuery, и его вставка для такого незначительного кода кажется излишним.
Помощь будет высоко ценится, спасибо!