我一直在讨论这个问题,我确信有办法绕过它。
目前我正在建立一个拥有许多博客的网站。博客有一个RSS源,我可以使用一个简洁的小jquery脚本,我发现从博客中提取数据,如博客标题,博客日期,博客图像等。
我使用的脚本使用短代码来渲染这些属性,例如:
<script type="text/javascript" src="http://cdn2.hubspot.net/hub/213747/file-722482310-js/scripts/jquery.rss.js"></script>
<script type="text/javascript">
jQuery(function($) {
$("#tech_feed").rss("http://www.example.com/big-data/rss.xml", {
limit: 1,
entryTemplate: '<h1 id="blog_title">{blog-title}</h1>'
});
</script>
这很有效,并带来了标题。但是我想使用Jquery在这个标题上做一个子串或切片,但由于它是动态添加的,我似乎无法抓住它。我可以在控制台中执行此操作,但我需要做什么才能抓住它#39;它被加载为HTML后?这可能吗?
答案 0 :(得分:1)
看起来你正在使用的插件有一个回调参数。所以,你可以这样做:
$(function() {
$("#tech_feed").rss("http://www.example.com/big-data/rss.xml", {
limit: 1,
entryTemplate: '<h1 id="blog_title">{blog-title}</h1>'
}, function() {
//Do your thing here where the feed has been loaded;
//Such as
alert ( $("#blog_title").text() );
});
});
答案 1 :(得分:0)
编辑:
阅读完评论后,您希望在数据到达后在回调中操作:
$("#tech_feed").rss("http://www.feedforall.com/sample.xml", {
limit: 1,
entryTemplate: '<h1 id="blog_title">{title}</h1>'}, function() { });
如下所示: http://jsfiddle.net/heavyhorse/rz59L0r2/
如果你想修改元素的内部html,请在数据到达后尝试这样的事情:
$('#blog-title').text(newTitleData);