欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

一个纠结的问题

程序员文章站 2024-02-10 13:38:46
...
<!doctype html>
<html>
  <head>
    <meta charset="utf-8">
    <title>存取元素的属性值</title>
    <style type="text/css">
      *{margin:0;padding:0;}
      ul{list-style:none;}
      .demo{width:1024px;margin:0 auto;border:5px solid #ccc;overflow:hidden;height:800px;}
      li{float:left;}
    </style>
    <script type="text/javascript" src="js/jquery-1.9.1.min.js"></script>
    <script type="text/javascript">
      $(function() {
        $('<span>'+$('ul').width()+'</span>').appendTo('textarea')
      })
    </script>
  </head>
<body>
  <div class="demo">
    <ul>
      <li><img src="#" width="1000" height="800"/></li>
      <li><img src="#" width="1000" height="800"/></li>
      <li><img src="#" width="1000" height="800"/></li>
      <li><img src="#" width="1000" height="800"/></li>
    </ul>
  </div>
  <textarea></textarea>
</body>
</html>

  起源于对方法的理解不透彻,appendTo,append都是源自原生javascript中的appendChild,

$('<span>'+$('ul').width()+'</span>')是一个jquery对象,它被添加到textarea中,但textarea中应该包含的是文本节点。因此,加入的内容不会被渲染出来,但浏览器也不会报错,并且可以继续操作其中的span元素的属性
因此,想要改变textarea中的内容,jquery只能通过html(),text(),value()方法来修改,不能通过节点相关操作


转载于:https://www.cnblogs.com/fsy0718/archive/2013/05/10/3070670.html