更改 jQuery 加载代码
Altering a jQuery load code
嗨,有人可以帮助我更改此编码,我正在尝试删除 href 页面#.html 加载并使用带有文本的预加载 li 在单击链接时填充div。
<div id="sclit"></div>
<!-- old code
<a href="page1.html" class="para">Sci Lit 1</a>
<a href="page2.html" class="para">Sci Lit 2</a>
<a href="page3.html" class="para">Sci Lit 3</a>
-->
<ul style="display:none">
<li class="page1"> text text </li>
<li class="page2"> text text </li>
<li class="page3"> text text </li>
</ul>
<script>
jQuery(document).ready(function() {
jQuery(".para").click(function() {
// jQuery("#sclit").load(jQuery(this).attr('href')); // old code
jQuery("#sclit").load(jQuery(this).attr('li'));
});
});
</script>
我认为您只是想消除.load
在这种情况下,您可以执行以下操作:
http://jsfiddle.net/GgMee/
将 html 标记更改为以下内容:
<div id="sclit"></div>
<a href="javascript:void(0)" class="para">Sci Lit 1</a>
<div class="details">text for sci lit 1</div>
<a href="javascript:void(0)" class="para">Sci Lit 2</a>
<div class="details">text for sci lit 2</div>
<a href="javascript:void(0)" class="para">Sci Lit 3</a>
<div class="details">text for sci lit 3</div>
每个链接后的details
div 隐藏,其中包含单击该链接时要显示的文本。
那么jquery是这样的:
$(function(){
$(".para").click(function(){
$("#sclit").text($(this).next(".details").text());
});
});
单击链接,在其后面找到details
div,并将其中的文本放入sclit
div 中。
我不确定我是否正确理解了您的问题,但如果我没有错,要求是
- 用户点击 li 标记
- div从 li 标签中获取文本。
如果这是正确的,那么这应该这样做
<div id="sclit"></div>
<!-- old code
<a href="page1.html" class="para">Sci Lit 1</a>
<a href="page2.html" class="para">Sci Lit 2</a>
<a href="page3.html" class="para">Sci Lit 3</a>
-->
<ul style="display:none">
<li class="page1"> text text </li>
<li class="page2"> text text </li>
<li class="page3"> text text </li>
</ul>
<script>
jQuery(document).ready(function() {
jQuery("li").click(function() {
// jQuery("#sclit").load(jQuery(this).attr('href')); // old code
jQuery("#sclit").html(jQuery(this).text());
});
});
</script>
jQuery(function() {
// preload all li's with the content of each anchors href beforehand
jQuery(".para").each(function(e) {
var $li = $("<li />").load($(this).attr('href'));
$("ul").append($li);
});
// now that data is already present in the li's (and if the indexes match up
// which they should if your html is accurate) swap the divs html with
// the content of the corresponding li
jQuery(".para").click(function(e) {
e.preventDefault();
jQuery("#sclit").html($("ul li:eq(" + $(this).index() + ")"));
});
});
相关文章:
- Jquery:代码在rails中的页面加载时未执行
- 如何在加载完整页面后严格执行javascript代码
- 如何在加载角度函数后运行jQuery代码
- Jquery时间启动计时器,我有一个计时器的代码,但它在页面加载时启动
- 在WordPress站点中加载jquery.js后加载javascript代码
- 如何避免重复代码(加载页面时切换)
- 如何将特定的javascript文件或javascript代码加载到HTML文档中
- 如何使用JS代码加载php文件
- 从PHP代码加载图像,然后单击时更改主页上的图像
- 如何使用Javascript将HTML代码加载到表中
- 我可以使用什么策略只将部分代码加载到github
- IE7和IE8的Javascript代码加载问题
- php代码加载页面源的http URL
- 如何在JavaFx中运行javascript代码.加载页面后的WebView
- 在窗口内执行代码.加载时间超过7秒的内容
- 无法使用requirejs为我的代码加载所需的js文件
- 计数器代码加载小图像
- 使用请求/处理代码加载JS数组的更快方法
- 可以运行JavaScript代码加载JSONP而不是脚本标记
- 在VB代码加载函数中调用JavaScript