мне нужно добиться следующего:JavaScript: Append ребенка со стилем и петлей
<ul data-role="listview">
<li data-icon="false">
<!--loop content here-->
</li>
</ul>
с помощью JavaScript. Я думаю, что добавить ребенка будет трюк. Можете ли вы рассказать мне, как использовать appendchild для достижения этого результата? я попробовал следующее:
$(document).ready(function() {
$(document).bind('deviceready', function() {
//Phonegap ready
onDeviceReady();
});
//var output = document.getElementById("output");
var _ul = document.createElement('ul');
var _li= document.createElement('li');
_ul.setAttribute("data-role", "listview");
_li.setAttribute("data-icon", "false");
$.ajax({
url: 'json_encoded_db.php',
dataType: 'jsonp',
jsonp: 'jsoncallback',
timeout: 5000,
success: function(data, status){
$.each(data, function(i,item) {
_li.innerHTML =
'<a href="" id="'+item.id+'">'+
'<img src="images/'+item.img+'">'+
'</a>';
_ul.appendChild(_li.cloneNode(true));
});
},
error: function(){
output.text('There was an error loading the data.');
}
});
document.getElementById("output").appendChild(_ul);
});
, но это не работает, я имею в виду, это список без какого-либо стиля и, видимо, не получает свойства данных ролей. (очевидно, что он работает с получением данных из базы данных, я тестировал его).
Что вы имеете в виду «это список без какого-либо стиля»? Ничто в показанном коде не делает никакого стиля. Вы говорите, что элементы li * do * создаются с правильным содержанием якоря и изображения, но без атрибутов 'data-'? – nnnnnn
Я разработал data-role = "listview" и data-icon = "false". Точно, он создается с правильным содержанием привязки и изображения, но без атрибутов данных. – Tony33
Я скопировал ваш код в скрипку и заменил вызов Ajax таймаутом (потому что я не мог заставить Ajax работать в скрипке), и элементы создаются правильно * с * атрибутами 'data-': https://jsfiddle.net/uu35z9a3/ – nnnnnn