根据javascript中,可以这样getElementsByTagName("p").innerHTML获得P标签内的东西
所以我觉得在jQuery中也可以这样:$('p').innerHTML
如下代码,但是系统反回的却是一个undefined,问题出在哪?<html>
<head>
<title>无标题文档</title>
<script type="text/javascript" src="jquery-1.6.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function()
                    {
   var x=$('p').innerHTML;
   alert(x);
                    }
                  )
</script>
</head><body>
<p>阿瓦的风</p>
</body>
</html>

解决方案 »

  1.   


    <script type="text/javascript">
    $(document).ready(function()
      {
    var x=$('p')[0].innerHTML;
    alert(x);
      }
      )
    </script>
      

  2.   

    $(document).ready(function() {
        var x = $('p:eq(0)').innerHTML;
        alert(x);
    });//原生JS写法
    window.onload = function() {
        var x = document.getElementsByTagName('p')[0].innerHTML;
        alert(x);
    }
    getElementsByTagName()返回的是个数组。
      

  3.   

    通楼上
    var x=$('p').innerHTML 中$('p')返回的是一个数组Array<Element(s)>,所以应该是
    var x=$('p')[0].innerHTML 
      

  4.   

    哦,错了,应该是var x = $('p:eq(0)').innerHTML;
      

  5.   


    是的,用getElementById()取得的是个对象,唯一的,不需要也不应该加上索引访问。
      

  6.   


    但实际上用ID不加[0]的话,还是会出现undefined
      

  7.   

    jquery和js原生代码不能混用,要么是jquery,要么是原生的。你混合起来了。有问题请到我的博客留言,我会及时回复的。
      

  8.   

    因为你没给input设置id属性值啊。<script type="text/javascript">
    window.onload = function() {
        var x = document.getElementById('p1').innerHTML;
        alert(x);
    }
    </script>
    <p id='p1'>阿瓦的风</p>
      

  9.   


    设置了啊,看如下代码<html>
    <head>
    <title>无标题文档</title>
    <script type="text/javascript" src="jquery-1.6.2.min.js"></script>
    <script type="text/javascript">
    $(document).ready(function()
                        {
       var x=$("#aa").innerHTML;
       alert(x);
                        }
                      )
    </script>
    </head><body>
    <p id="aa">阿瓦的风</p>
    </body>
    </html>
      

  10.   

    jquery本来就是javascript,他只不过是封装了一下而已...
      

  11.   

    var x = $("#aa").html();
      

  12.   

    $('标签')  ---->得到的是一个对象集合$('.className')  ---->取得class="className"的对象集合$('#id')  ---->得到某一个id=‘id’的对象
      

  13.   

    var x=$('p')获取到的是一个JQuery对象,而innerHTML是JS中的原生DOM属性
    所以需要用[0]将JQuery对象转换为DOM对象,然后才能使用innerHTML
    否则需要像LS那样,用JQuery中的html()方法来取var x = $("#aa").html();
      

  14.   

    其实说成是转换也不太恰当,它只是从$('p')这个JQuery对象中返回第一个DOM元素
      

  15.   

    jquery$()返回的是一个Dom数组,即使只有一个元素
      

  16.   

    这个问题也是Jquery中有一章刻意讲解Jquery对象和DOM对象之间的关系和转换方法
    LZ所犯的错误正是未区分这两个对象 
    $('p').innerHTML
    jquery对象不能使用DOM对象的方法
      

  17.   

    <html>
    <head>
    <title>无标题文档</title>
    <script type="text/javascript" src="jquery-1.6.2.min.js"></script>
    <script type="text/javascript">
    $(document).ready(function()
      {
    var x=$("#aa")[0].innerHTML;//转换为DOM对象后 使用DOM对象的innerHTML方法
    var x = $("#aa").html();//原生态的JQ方法
    alert(x);
      }
      )
    </script>
    </head><body>
    <p id="aa">阿瓦的风</p>
    </body>
    </html>