Я использую следующую функцию 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.
Попробуй это.
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();
});
его рабочий штраф для меня там, хотя
КОД 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 правильно или нет и удалите эти косые черты из вашего кода, они необходимы! :)
Счастливое кодирование :)
Без 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 :)