问答详情
源自:3-2 jQuery的属性与样式之html()及.text()

为什么最后一题a:first返回了a的3个内容?求详细解答,多谢

这里 <div class="left first-div">
       <div class="div">
           <a>:first-child</a>
           <a>第二个元素</a>
           <a>:last-child</a>
       </div>  
$(".left a:first").text(function(idnex,text){
           return '增加新的文本内容' + text
       })
这个为啥还会返回a(1),a(2)的内容啊?a:first不是代表a的第一个吗?
结果如下:
增加新的文本内容:first-child
第二个元素
替换第一个a元素的内容
这里 <div class="left first-div">
       <div class="div">
           <a>:first-child</a>
           <a>第二个元素</a>
           <a>:last-child</a>
       </div>  
$(".left a:first").text(function(idnex,text){
           return '增加新的文本内容' + text
       })
这个为啥还会返回a(1),a(2)的内容啊?a:first不是代表a的第一个吗?
结果如下:
增加新的文本内容:first-child
第二个元素
替换第一个a元素的内容
这里 <div class="left first-div">
       <div class="div">
           <a>:first-child</a>
           <a>第二个元素</a>
           <a>:last-child</a>
       </div>  
$(".left a:first").text(function(idnex,text){
           return '增加新的文本内容' + text
       })
这个为啥还会返回a(1),a(2)的内容啊?a:first不是代表a的第一个吗?
结果如下:
增加新的文本内容:first-child
第二个元素
替换第一个a元素的内容

提问者:慕仙5237505 2017-11-07 10:47

个回答

  • qq_琥珀的眼泪_0
    2017-11-07 18:41:12

    a:first确实是代表第一个a,你的误区是三个a都显示再一个div中,你把它们统一看成了第一个a的值,建议你给第一个加一个背景,这样不管内容怎么变你就知道哪个才是第一个a的值:

    <h3>.html()与.text()</h3>

        <div class="left first-div">

            <div class="div">

                <a class="firsta">:first-child</a>

                <a>第二个元素</a>

                <a>:last-child</a>

            </div>  

            <div class="div">

                <a>:first-child</a>

                <a>第二个元素</a>

                <a>:last-child</a>

            </div>

        </div>    

    .firsta{ background-color: red;}不知道这样解释你明不明白

    http://img2.mukewang.com/5a018dc50001d63e01740108.jpg