<div> не создан на лету в JavaScript

0

Я использую следующую функцию JavaScript, создаю элемент <div> на лету.

function display()
{
    if (accessTokenValue === '')
    {
        alert("inside if");

        $('#mainDivId').addClass('ui-content jqm-content feed');
        $('<div id="linkToInstagramDivId"></div>')
            .html('
<p><img src="img/instagram-logotype.png" alt="" /></p>
<p>Link To Instagram</p>
<div><input type="button" data-inline="true"
value="Sign In" onclick="LinkToInstagram();"></div>'
            )
            .appendTo('#mainDivId');

        alert("inside after if");
    }
    else
    {
        alert("inside else");

        $('#mainDivId').addClass('ui-content jqm-content');
        $('<div id="uploadToInstagramDivId"></div>')
            .html('
<p>Upload Photos To Instagram</p>
<input type="button" value="Upload Photos" data-inline="true"
onclick="UploadToInstagram();">'
            )
            .appendTo("#mainDivId");
    }
}

Никакое изменение не происходит на странице, оно остается пустым. Кроме того, Firebug ничего не показывает при создании вышеуказанного содержимого html.

  • 0
    я думаю, что вы пропустили добавление div к документу, как мы делаем в dom. Вы можете проверить то же самое с JQuery
  • 0
    как делать с jquery ?????
Показать ещё 9 комментариев
Теги:
cordova

3 ответа

1
Лучший ответ

Попробуй это.

var temp=$('<div id="linkToInstagramDivId"></div>');
temp.html('<p><img src="img/instagram-logotype.png" alt="" /></p><p>Link To Instagram</p><div><input type="button" data-inline="true" value="Sign In" onclick="LinkToInstagram();"></div>');

$('#mainDivId').after(temp);

Убедитесь, что вы добавили последние jquery.js.

Изменить: проблема в том, что вы загружаете функцию отображения, когда ваша страница не загружена, поэтому она не отображала изменений. Напишите свою полную функцию отображения и вызов функции в ready() следующим образом:

$(document).ready(function() {
    var accessTokenValue="";
    function display()
    {
        if (accessTokenValue == '')
        {
            alert("inside if");

            $('#mainDivId').addClass('ui-content jqm-content feed');
            $('<div id="linkToInstagramDivId"></div>')
                .html('<p><img src="img/instagram-logotype.png" alt="" /></p><p>Link To Instagram</p><div><input type="button" data-inline="true" value="Sign In" onclick="LinkToInstagram();"></div>')
                .appendTo('#mainDivId');
            alert("inside after if");
        }
        else
        {
            alert("inside else");

            $('#mainDivId').addClass('ui-content jqm-content');
            $('<div id="uploadToInstagramDivId"></div>')
                .html('<p>Upload Photos To Instagram</p><input type="button" value="Upload Photos" data-inline="true" onclick="UploadToInstagram();">')
                .appendTo("#mainDivId");
        }
    }
    display();
}); 
0

его рабочий штраф для меня там, хотя

КОД JQUERY:

$(document).ready (function () {
var accessTokenValue = "Terminator";

function display () {
 if (accessTokenValue == '') {
    alert("inside if");

      $('#mainDivId').addClass('ui-content jqm-content feed');
        $('<div id="linkToInstagramDivId"></div>')
            .html('<p><img src="img/instagram-logotype.png" alt="" /></p><p>Link To Instagram</p><div><input type="button" data-inline="true" value="Sign In" onclick="LinkToInstagram();"></div>')
           .appendTo('#mainDivId');

       alert("inside after if");
    } else {
        alert("inside else");

    $('#mainDivId').addClass('ui-content jqm-content');
    $('<div id="uploadToInstagramDivId"></div>')
        .html('<p>Upload Photos To Instagram</p>
            <input type="button" value="Upload Photos" data-inline="true"
            onclick="UploadToInstagram();">').appendTo("#mainDivId");
 }

 //call display onLoad
 display ();

});

LIVE DEMO: http://jsfiddle.net/dreamweiver/k9pCY/1/

просто просмотрите, что вы загрузили все Jquery lib правильно или нет и удалите эти косые черты из вашего кода, они необходимы! :)

Счастливое кодирование :)

  • 0
    это не сработало, я сбит с толку .....
  • 0
    @ user3519216: ты имеешь в виду, что jsfiddle, который я написал, не работает? или твой код не работает?
Показать ещё 4 комментария
0

Без JQuery...

function display(){
if (accessTokenValue === '') {
    var newdiv = document.createElement('div');
newdiv.id = "linkToInstagramDivId";
newdiv.innerHTML = '<p><img src="img/instagram-logotype.png" alt="" /></p><p>Link To Instagram</p><div><input type="button" data-inline="true" value="Sign In" onclick="LinkToInstagram();"></div>';
document.getElementById("mainDivId").appendChild(newdiv);
} else {
var maindiv = document.getElementById('mainDivId');
maindiv.className += " ui-content jqm-content";
var newdiv = document.createElement('div');
newdiv.innerHTML = '<p>Upload Photos To Instagram</p><input type="button" value="Upload Photos" data-inline="true" onclick="UploadToInstagram();">';
maindiv.appendChild(newdiv);
};

};

Забыл точку с запятой... oops :)

  • 0
    это не сработало ..

Ещё вопросы

Сообщество Overcoder
Наверх
Меню