HTML в Javascript

Я хочу вставить HTML-дивы в Javascript - но у меня возникли проблемы с разработкой. В основном, я хочу добавить рекламные теги в зависимости от размера внутреннего окна. Этот скрипт работает для моей рекламы AdSense, но мне нужно, чтобы он работал для другого решения.

<script type="text/javascript">// <![CDATA[
var width = window.innerWidth || document.documentElement.clientWidth;
if (width >= 630) {
    [insert div # 1 here]
} else if (width < 630) {
    [insert div # 2 here]
}
// ]]></script>

Оба div'а имеют следующий формат - и на них ссылается другой скрипт в заголовке:

<div id="exampleone" class="ABCXYZ" data-serve="abcdefg">
<div id="exampletwo" class="ABCXYZ" data-serve="abcdefh">

Помощь очень ценится!

ОБНОВЛЕНИЕ: Это то, что я сейчас пытаюсь - но безрезультатно

<script type="text/javascript">// <![CDATA[
var width = window.innerWidth || document.documentElement.clientWidth;
var body = document.getElementsByTagName ("body")[0];
if (with >= 630) {
    body.innerHTML = body.innerHTML + "<div id='exampleone' class='ABCXYZ' data-serve='abcdefg'>";
else if (width < 630) {
    body.innerHTML = body.innerHTML + "<div id='exampletwo' class='ABCXYZ' data-serve='abcdefh'>";
}
// ]]></script>

1 ответ

Предполагая, что вы пытаетесь вставить div в элемент body, вы можете сделать что-то вроде этого:

// there should be only one <body> tag, so hardcoding [0] should be okay
var body = document.getElementsByTagName ("body")[0];
// or if your body (or other element) has an id, try this:
var body = document.getElementById ("body-id-value");

if (with >= 630) {
    body.innerHTML = body.innerHTML + "<div id='exampleone' class='ABCXYZ' data-serve='abcdefg'>";
else if (width < 630) {
    body.innerHTML = body.innerHTML + "<div id='exampletwo' class='ABCXYZ' data-serve='abcdefh'>";
}

Это вставит div внизу всего остального содержимого в теге body. Если вы хотите, чтобы div был перед всем другим содержимым, добавьте текущий HTML после div:

body.innerHTML = "<div id='exampletwo' class='ABCXYZ' data-serve='abcdefh'>" + body.innerHTML;

Если вы хотите вставить div где-нибудь в середине другого контента, я бы порекомендовал использовать библиотеку javascript, такую ​​как jQuery, в противном случае это намного больше работы.

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