我有这个新闻解析器。我需要在这里添加图片。它们的超链接将从XML解析。如何升级我的xmlParser?我需要div内的图像,通过CSS为图像提供正确的位置。并且为此图像分配了div的CSS类。
我试图添加
<div class="articleimg">' + <img src='"+$(this).find("image").text()+"'/> + '</div>
但似乎我的语法不正确。添加此类代码后,附加的整行怎么样?
从头开始:
function xmlParser(xml) {
$('#load').fadeOut();
$(xml).find("item").each(function () {
$(".main").append('<div class="article"><div class="title">' + $(this).find("title").text() + '</div><div class="full">' + $(this).find("description").html() + '</div><div class="date">Добавлена: ' + $(this).find("pubDate").text() + '</div></div>');
$(".article").fadeIn(500);
});}
来自身体:
<div class="main">
<div id="loader" class="loader"><img src="../images/theme/loader.gif" alt="loader" id="load" width="64" height="64" style="vertical-align:middle;"/></div>
</div>
来自xml文件:
<?xml version="1.0" encoding="utf-8" ?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"
xmlns:media="http://search.yahoo.com/mrss/">
<channel>
<item>
<title>Title</title>
<description>Description</description>
<image>http://website.com/images/news/news.png</image>
<pubDate>2018/03/10 00:00:00 GMT+3</pubDate>
</item>
</channel>
</rss>
答案 0 :(得分:1)
是的,您必须使用img标记在脚本中更新 append()。你只是误解了你的引号和“
'&lt; div class =“article”&gt;&lt; div class =“title”&gt;'
在''里面。这是一个字符串。没关系。
下一步
+&lt; img src ='“+ $(this).find(”image“)。text()+”'/&gt; -
此处&lt; img src = - 看起来像需要解释的javascript代码。但它也是HTML的字符串。所以你必须用引号括起来。
为了更好地理解,我将这些标记为大胆标记。这都在'
之内+'&lt; img src =“'+ $(this).find(”image“)。text()+'”/&gt; '< / p>
所以你的代码是
$(".main").append('<div class="article"><div class="articleimg"><img src="'+$(this).find("image").text()+'"/></div><div class="title">' + $(this).find("title").text() + '</div><div class="full">' + $(this).find("description").html() + '</div><div class="date">Добавлена: ' + $(this).find("pubDate").text() + '</div></div>');
我删除了多余的报价。
'&lt; div&gt;'+'&lt; img'+ variable +'&gt;'+'&lt; / div&gt;'
与
相同'&lt; div&gt;&lt; img'+ variable +'&gt;&lt; div&gt;'