jQuery 的DOM操作方法 元素的创建、复制、重组、修饰

jQuery 的DOM操作方法 元素的创建、复制、重组、修饰。下面的例子完全可用,每一行都写有注释,请复制代码运行。

 

ContractedBlock.gif ExpandedBlockStart.gif Code

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    
<title></title>

    
<script src="jquery.js" type="text/javascript"></script>

    
<style type="text/css">
        .chapter
        
{
            width
: 42em;
        
}
        a.link
        
{
            text-decoration
: none;
        
}
        span.footnote
        
{
            font-style
: italic;
            font-family
: "Times New Roman" , Times, serif;
            display
: block; /*使其变成一块一块的*/
            margin
: 1em 0;
        
}
        .text-reference
        
{
            font-weight
: bold;
        
}
        #notes li
        
{
            margin
: 1em 0;
        
}
        #notes
        
{
            margin-top
: 1em;
            border-top
: 1px solid #00ff00;
        
}
        #footer
        
{
            margin-top
: 1em;
            border-top
: 1px solid #dedede; /*上边线*/
        
}
        .inhabitants
        
{
            border-bottom
: 1px solid #dedede;
        
}
        .pulled-wrapper
        
{
            background
: url(pq-top.jpg) no-repeat left top;
            position
: absolute;
            width
: 160px;
            right
: -180px;  /* 定位注释框的横向位置*/
            padding-top
: 18px;
        
}
        .pulled
        
{
            background
: url(pq-bottom.jpg) no-repeat left bottom;
            position
: relative;
            display
: block;
            width
: 140px;
            padding
: 0 10px 24px 10px;
            font
: italic 1.4em "Times New Roman" , Times, serif;
        
}
    
</style>

    
<script type="text/javascript">
        
//为每个p元素添加属性
        $(document).ready(function() {
            $(
'p').each(function(index) {
                
var currentClass = $(this).attr('class');
                $(
this).attr('class', currentClass + ' inhabitants');
            });
        });


        
//动态为元素添加属性
        $(document).ready(function() {
            $(
'div.chapter a[href*=cnblogs]').each(function(index) { //each好似for循环,他会循环集合中所有的对象,参数一的方法是对每一个对象都执行的操作,index是对象的索引
                var $thisLink = $(this);
                $(
this).attr({
                    
'rel''subsection ',
                    
'id''blogslink-' + index,
                    
'title''更多' + $thisLink.text() + '的资料在冯瑞涛的博客',
                    
'class''link'
                });
            });
        });

        
//插入返回到上面连接
        $(document).ready(function() {
            $(
'<a id="top" name="top">新年好</a>').prependTo('body'); //初始化到body

            $(
'div.chapter p:gt(0)').after('<a href="#top">返回到上面</a>');

            
//下行等价上面的哪行代码  gt代表从第几个元素后面的p开始
            //$('<a href="#top">返回到上面</a>').insertAfter('div.chapter p:gt(0)'); 

        });

        
//
        $(document).ready(function() {
            $(
'<ol id="notes"></ol>').insertAfter('div.chapter');
            $(
'span.footnote').each(function(index) {
                $(
this)
                
//为每一个footnote在前面动态添加数字连接(1,2)
                .before('<a href="#foot-note-' + (index + 1+ '" id="context-' + (index + 1+ '" class="context"><sup>' + (index + 1+ '</sup></a>')
                
//将footnote插入到ol标签中(不带上面的连接,仅span),就是移动标签,带有appendTo代表将自己追加到其他元素中
                .appendTo('#notes')
                
// 向指定元素内容的后面追加标签
                .append('&nbsp;(<a href="#context-' + (index + 1+ '">内容</a>)')
                
//将this包含在wrap的第一个参数中表示的标记中
                .wrap('<li id="foot-note-' + (index + 1+ '"></li>');
            });
        });

        $(document).ready(
function() {
            $(
'span.pull-quote').each(function(index) {
            
//获得父元素p
            var $parentParagraph = $(this).parent('p');
                
//设置p标签为相对定位,否则无法对其位置进行操作
                $parentParagraph.css('position''relative'); 
                
//复制一份拷贝,span.pull-quote   clone(false);代表仅复制标记本身不复制其内容
                var $clonedCopy = $(this).clone();
                $clonedCopy
                  .addClass(
'pulled')   //添加样式,拥有下面的背景
                  .find('span.drop')    //找到其中的span.drop,此时对象已经是span.drop了
                  .html('&hellip;')     //为span.drop 设置html文档
                  .end()                //返回没有被改变前的那个jQuery对象状态
                  .prependTo($parentParagraph) //将这个span追加到指定的元素中去
                  .wrap('<div class="pulled-wrapper"></div>'); //再其本身包含在div内容中<div><span>

                
var clonedText = $clonedCopy.text(); //获得文本,去掉了html
                $clonedCopy.html(clonedText);  //将文本以Html的形式插入到内容中,相当于替换html内容
            });
        });

        
        

    
</script>

</head>
<body>
    
<form id="form1" runat="server">
    
<span class="footnote">佳月</span> <span class="footnote">Terry.Feng.C</span> <span
        
class="footnote">冯瑞涛</span>
    
<div class="chapter">
        
<p>
            1. 
<href="http://terryfeng.cnblogs.com">jQuery</a>动态为链接添加属性。</p>
        
<p>
            2. 
<href="http://terryfeng.cnblogs.com">CSLA.Net</a>业务层最强框架。<span class="pull-quote">CSLA注释<span class="drop">省略部分</span></span></p>
        
<p>
            3. 
<href="http://terryfeng.cnblogs.com">DNN</a>免费开源的CMS系统。<span class="pull-quote">DNN注释<span class="drop">省略部分</span></span></p>
    
</div>
    
<div id="footer">
        冯瑞涛的博客
</div>
    
</form>
</body>
</html>
posted on 2009-01-28 10:54 冯瑞涛 阅读( ...) 评论( ...) 编辑 收藏
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值