这是这个插件的文档(只有两个功能。) http://tkyk.github.com/jquery-history-plugin/#documentation
$(document).ready(function() {
function load(num) {
$('#content').load(num +".html");
}
$.history.init(function(url) {
load(url == "" ? "1" : url);
});
$('#ajax-links a').live('click', function(e) {
var url = $(this).attr('href');
url = url.replace(/^.*#/, '');
$.history.load(url);
return false;
});
});
这是html:
<body>
<h1>jQuery History Plugin Ajax Sample</h1>
<div id="ajax-links">
<ul>
<li><a href="#1">load 1.html</a></li>
<li><a href="#2">load 2.html</a></li>
<li><a href="#3">load 3.html</a></li>
</ul>
<div id="content"></div>
<hr />
</div>
<p>[<a href="../">All samples</a>] [<a href="http://github.com/tkyk/jquery-history-plugin">Project home</a>]</p>
</body>
答案 0 :(得分:25)
load(url == "" ? "1" : url);
这里的问号是一个三元运算,简而言之,它是一个简短的内联if
陈述。
扩展了,声明看起来像这样:
if (url == "")
load("1");
else
load(url);
如果问号前的语句的计算结果为true,则使用冒号的左侧,否则(如果为false)则使用右侧。你也可以嵌套它,虽然它并不总是一个好主意(为了便于阅读)。
答案 1 :(得分:5)
简写:
If (url == ""){
load("1");
}
else {
load(url);
}
IE中。如果url
等于""
,则返回"1"
,否则返回url
在您的示例中,如果url
等于""
,则会加载1.html
,否则将加载url + ".html"
答案 2 :(得分:2)