在下面的代码中,我绑定了跨度的click事件,以便它触发checkTOC函数。jQuery获取元素html的更新值()
在该函数中,我在count变量中存储了匹配元素的计数。这个工作很好,只要内容在页面加载后没有改变。但是,count的值似乎不受#content div的页面后加载更改的影响。
如何更改代码以使计数反映#content html的更新值?
if(typeof jQuery!="undefined")
{
jQuery(document).ready(function($)
{
var checkTOC = function()
{
//find the count of <!--nextpage--> elements
var count = jQuery('#content').html().split("<!--nextpage-->").length - 1;
alert(count);//ALWAYS RETURNS THE INITIAL COUNT, REGARDLESS IF ACTUAL COUNT IS CHANGED AFTER PAGE LOAD VIA HTML EDITING
var pageurl = jQuery("#view-post-btn a").attr("href");
var htmlStrTOCpre = jQuery("#cb2_customTOC").text();
var htmlStrTOC = '<summary>Table of Contents</summary>\n';
htmlStrTOC += '<ol>\n';
htmlStrTOC += ' <li><a href="'+pageurl+'">Introduction</a></li>\n';
for (var i = 2; i < count+2; i++) {
htmlStrTOC += ' <li><a href="'+pageurl+i+'/">Page'+i+'</a></li>\n';
}
htmlStrTOC += '</ol>';
jQuery("#cb2_customTOC").val(htmlStrTOC);
}
jQuery("#cb-toc-click").bind("click", checkTOC);
});
}
HTML代码
<span id="cb-toc-click">Paste Table of Contents</span>
你为什么要拆分HTML?计数元素有很多有效的方法。 – undefined
好点我确定,但我正在计算具体的评论标签,这不是真正的dom级别“元素”... –
计数评论是计算它们的唯一方法吗?你确定更新的内容有评论吗? – undefined