Jquery mobile jQuery mobile附加html代码
我想使用jQuery/jQuery mobile将一些代码附加到页面,我只想附加一次,而不是每次访问页面时 **最终编辑**Jquery mobile jQuery mobile附加html代码,jquery-mobile,append,Jquery Mobile,Append,我想使用jQuery/jQuery mobile将一些代码附加到页面,我只想附加一次,而不是每次访问页面时 **最终编辑** <!DOCTYPE html> <html> <head> <title>Page Title</title> <meta name="viewport" content="width=device-width, initial-scale=1"> <
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.0b2/jquery.mobile-1.0b2.min.css" />
<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.2.min.js"></script>
<script type="text/javascript" src="http://code.jquery.com/mobile/1.0b2/jquery.mobile-1.0b2.min.js"></script>
<script>
//$(document).ready(function() // get error when I use this
$('#page1').live('pageshow', function ()
{
// alert("!");
var section1 = "<p>some code for page 1...</p>";
myClone1 = $(section1);
myClone1.appendTo("#placeholder1").trigger('create');
});
$('#page2').live('pageshow', function ()
{
// alert("!");
var section2 = "<p>some code for page 2...</p>";
myClone2 = $(section2);
myClone2.appendTo("#placeholder2").trigger('create');
});
</script>
</head>
<body>
<div data-role="page" id="page1">
<div data-role="content">
<div data-role="navbar">
<ul><li><a data-icon="home" data-transition="none" id="page1" href="#page1">page1</a></li>
<li><a data-icon="grid" data-transition="none" id="page2" href="#page2">page2</a></li>
</ul>
</div>
<div id="placeholder1">Page 1</div>
</div>
</div>
<div data-role="page" id="page2">
<div data-role="content">
<div data-role="navbar">
<ul><li><a data-icon="home" data-transition="none" id="page1" href="#page1">page1</a></li>
<li><a data-icon="grid" data-transition="none" id="page2" href="#page2">page2</a></li>
</ul>
</div>
<div id="placeholder2">Page 2</div>
</div>
</div>
</div>
</body>
</html>
页面标题
//$(document).ready(function()//使用此函数时出现错误
$('page1').live('pageshow',function()
{
//警惕(“!”);
var section1=“第1页的一些代码…”;
myClone1=$(第1节);
myClone1.appendTo(#placeholder 1”).trigger('create');
});
$('page2').live('pageshow',function()
{
//警惕(“!”);
var section2=“第2页的一些代码…”;
myClone2=$(第2节);
myClone2.appendTo(#placeholder 2”).trigger('create');
});
第1页
第2页
好的,这有点棘手,但这里有一个实时版本:
varelem\u id;
var appendToStatus={};
appendToStatus['page1']=true;
appendToStatus['page2']=true;
$('div').live('pageshow',function(){
elem_id=$(this.attr('id');
appendToStatus[elem_id]=fnCreateGroups(elem_id,appendToStatus[elem_id]);
});
函数fnCreateGroups(元素id、附件状态){
如果(appendToStatus==true){
var section=“某些代码表示“+elem_id+”..”;
myClone=$(节);
myClone.appendTo(“#”+elem_id+“_占位符”).trigger('create');
返回false;
}
}
HTML:
第1页
第2页
好的,这有点棘手,但这里有一个实时版本:
varelem\u id;
var appendToStatus={};
appendToStatus['page1']=true;
appendToStatus['page2']=true;
$('div').live('pageshow',function(){
elem_id=$(this.attr('id');
appendToStatus[elem_id]=fnCreateGroups(elem_id,appendToStatus[elem_id]);
});
函数fnCreateGroups(元素id、附件状态){
如果(appendToStatus==true){
var section=“某些代码表示“+elem_id+”..”;
myClone=$(节);
myClone.appendTo(“#”+elem_id+“_占位符”).trigger('create');
返回false;
}
}
HTML:
第1页
第2页
在实际追加之前,您可以检查是否存在要追加的代码。这样,在后续访问页面时,将不会添加数据:
$('#page1').live('pageshow', function ()
{
// alert("!");
if ($(this).find('p.appended_code').length === 0) {
var section1 = "<p class='appended_code'>some code for page 1...</p>";
myClone1 = $(section1);
myClone1.appendTo("#placeholder1").trigger('create');
}
});
$('page1').live('pageshow',function()
{
//警惕(“!”);
if($(this).find('p.added_code')。长度==0){
var section1=“
请注意,我将“added_code”类添加到您要附加的段落标记中,这是我用来检查是否存在附加代码的选择器
--更新--
如果使用基于数字的命名约定,还可以稍微清理代码:
var pageData = new Array();
pageData[1] = "<p class='appended_class'>some code for page 1...</p>";
pageData[2] = "<p class='appended_class'>some code for page 2...</p>";
$('div[id^="page"]').live('pagebeforeshow', function () {
if ($(this).find('p.appended_class').length === 0) {
var page_num = $(this).attr('id').replace('page', '');
$("#placeholder" + page_num).append(pageData[page_num]).trigger('create');
}
});
var pageData=new Array();
pageData[1]=“为第1页添加了一些代码…””;
pageData[2]=“为第2页添加了一些代码…””;
$('div[id^=“page”]”)。live('pagebeforeshow',函数(){
if($(this).find('p.added\u class')。长度==0){
var page_num=$(this.attr('id').replace('page','');
$(“#占位符”+page_num).append(pageData[page_num]).trigger('create');
}
});
请注意,div[id^=“page”]
选择器搜索id以“page”开头的div
下面是给你的JSFIDLE:
如果希望在初始加载时附加数据,我建议在将数据附加到函数中的代码行中,并在
$(document.ready()上调用它
在实际追加之前,您可以检查是否存在要追加的代码。这样,在后续访问页面时,将不会添加数据:
$('#page1').live('pageshow', function ()
{
// alert("!");
if ($(this).find('p.appended_code').length === 0) {
var section1 = "<p class='appended_code'>some code for page 1...</p>";
myClone1 = $(section1);
myClone1.appendTo("#placeholder1").trigger('create');
}
});
$('page1').live('pageshow',function()
{
//警惕(“!”);
if($(this).find('p.added_code')。长度==0){
var section1=“
请注意,我将“added_code”类添加到您要附加的段落标记中,这是我用来检查是否存在附加代码的选择器
--更新--
您还可以清理c
var pageData = new Array();
pageData[1] = "<p class='appended_class'>some code for page 1...</p>";
pageData[2] = "<p class='appended_class'>some code for page 2...</p>";
$('div[id^="page"]').live('pagebeforeshow', function () {
if ($(this).find('p.appended_class').length === 0) {
var page_num = $(this).attr('id').replace('page', '');
$("#placeholder" + page_num).append(pageData[page_num]).trigger('create');
}
});
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.0b2/jquery.mobile-1.0b2.min.css" />
<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.2.min.js"></script>
<script type="text/javascript" src="http://code.jquery.com/mobile/1.0b2/jquery.mobile-1.0b2.min.js"></script>
<script>
$('#page1').live('pagecreate', function ()
{
var section1 = "<p>some code for page 1...</p>";
myClone1 = $(section1);
myClone1.appendTo("#placeholder1").trigger('create');
});
$('#page2').live('pagecreate', function ()
{
var section2 = "<p>some code for page 2...</p>";
myClone2 = $(section2);
myClone2.appendTo("#placeholder2").trigger('create');
});
</script>
</head>
<body>
<div data-role="page" id="page1">
<div data-role="content">
<div data-role="navbar">
<ul><li><a data-icon="home" data-transition="none" id="page1" href="#page1">page1</a></li>
<li><a data-icon="grid" data-transition="none" id="page2" href="#page2">page2</a></li>
</ul>
</div>
<div id="placeholder1">Page 1</div>
</div>
</div>
<div data-role="page" id="page2">
<div data-role="content">
<div data-role="navbar">
<ul><li><a data-icon="home" data-transition="none" id="page1" href="#page1">page1</a></li>
<li><a data-icon="grid" data-transition="none" id="page2" href="#page2">page2</a></li>
</ul>
</div>
<div id="placeholder2">Page 2</div>
</div>
</div>
</div>
</body>
</html>