可以用js的事件委托啊。
比如你的分页生成的代码会插入到一个<div id="pager"></div>里,在生成html片段时为a设置一个属性用来表示页数,如:<a href="#" data-page="1">第1页</a>
事件委托的js代码如下:
$('#pager').delegate('a', 'click', function(e){
e.preventDefault() //阻止a的默认事件
var page = $(this).data('page') //从当前a标签属性中取出页码
//处理分页,如果是跳转:
location.href = "/pagename.php?page=" + page
//如果是异步取分页数据:
var page_api = '/pagedata.php?page=' + page
$.get(page_api, function(data, textStatus, jqXHR){
//使用ajax获取数据
//拼装数据并填充到数据显示区:
$('#list-container').append( createHTML(data) )
//重新生成分页区
createPager( page )
})
})
function createHTML(data){
//拼装数据的函数
}
function createPager(curPage){
//生成分页的函数
var tpl = '<a href="#" data-page="{#index}">第{#index}页</a>'
//...
}
想要在页面动态添加元素,首先要确定在哪个元素后面添加元素,然后利用js的appendChild方法在该元素后面追加元素。
1.获取父节点元素varbody=document.getElementsByTagName('body')[0]。
2.然后动态创建a标签vara=document.createElement('a')。
3.把创建好的a标签追加到body下面body.appendChild(a)。
4.在a标签里面添加文本内容a.innerHTML='这是一个链接'。
5.给a标签添加一个链接a.href='https://www.baidu.com/'。
扩展资料:
js一些原生方法
element.appendChild()方法向节点添加最后一个子节点。
element.innerHTML设置或返回元素的内容。
document.getElementsByTagName()返回带有指定标签名的对象集合。
document.getElementById()返回对拥有指定id的第一个对象的引用。
document.createElement()通过指定名称创建一个元素。