在主页上,JS 将从新闻页面中抓取最多三个新闻故事,并将显示链接到完整故事的缩写版本。我遇到的问题是我试图连接的变量之一没有按预期进行。
主页:
<div id="news-autoloader">
</div>
新闻页面:
<h3 id="news1">News Item 1</h3>
<p>Lorem ipsum dolor sit amet...</p>
<h3 id="news2">News Item 2</h3>
<p>Lorem ipsum dolor sit amet...</p>
// more or less of the same news items
新闻页面可能没有项目,但我们将捕获最多三个,首先是标题,然后是 h3 标题后面的第一个 p 的 n 个字符(宁愿捕获 n 个单词,但那是在解决此问题之后!)。
<script>
$.get('company-news.html',
function(data){
var news1 = $(data).find('#news1 + p');
var news2 = $(data).find('#news2 + p');
var news3 = $(data).find('#news3 + p');
// see how many news items there are (there's probably a more graceful way of doing this!):
if (news1.html() == null){
var items = 0;
} else if (news2.html() == null){
var items = 1;
} else if (news3.html() == null){
var items = 2;
} else {
var items = 3;
}
if (items == 0){
$('#news-autoloader').append('<h3>No News.</h3>');
} else {
for (i=1; i<=items; i++){
var abc = '#news' + i;
var def = 'news' + i;
var url = 'a href="company-news.html#news' +i;
$('#news-autoloader').append($(abc,data)).append('<p>' + def.html().substr(0, 175) + ' <' + url + '">More</a></p>');
}
}
}, 'html');
</script>
一切正常 -abc
在第一个附加中正确评估,但在我们的第二个附加中,变量def
没有。
我想知道三件事:
1)我如何def
在第二个附录中工作,
2)有没有更优雅的方法来查找新闻项目的数量,
3)我如何限制字数而不是字符(所以缩写的句子是完整的)。
蒂亚!!!