Я, может казаться, не выясняю эту проблему. Я пытаюсь заставить xml представлять теги HTML. Проблема у меня есть использование .text () отобразит, но не распознает любые теги HTML. Если я использую .html () или просто называю var long2 = $ (этот) .find ('долго'); ничто не обнаружится в Safari или IE.
У меня есть xml абзац, в котором у меня есть текст здесь, для которого нужны теги полужирного начертания или теги, который является, почему мне нужны теги HTML в xml, который будет распознан.
Код:
$(document).ready(function(){
$.ajax({
type: "GET",
url: "xml/sites.xml",
dataType: "xml",
success: function(xml) {
$(xml).find('site').each(function(){
var id = $(this).attr('id');
var title = $(this).find('title').text();
var Class = $(this).find('class').text();
$('<div class="'+Class+'" id="link_'+id+'"></div>').html('<p class="title">'+title+'</p>').appendTo('#page-wrap');
$(this).find('desc').each(function(){
var url = $(this).find('url').text();
var long = $(this).find('long').text();
$('<div class="long"></div>').html(long).appendTo('#link_'+id);
$('#link_'+id).append('<a href="http://'+url+'">'+url+'</a>');
var long2 = $(this).find('long');
$('<div class="long2"></div>').html(long2).appendTo('#link_'+id);
});
});
}
});
.html ()
не работает с XML-документами. Вы должны заключить HTML-содержимое в XML-файл с помощью здесь ваш код ]]>
.
Однажды я столкнулся с этой проблемой при работе с некоторыми материалами xslt. По-видимому, в webkit и некоторых версиях IE вы не можете анализировать html, который не соответствует вашему типу документа. Таким образом, узел не будет доступен для jquery. ОДНАКО, есть решение, которое вы можете сделать запрос элемента, используя атрибут nodename $ ('[nodeName = long]', xml)