在div中选择span值

时间:2011-10-19 15:57:54

标签: javascript jquery

假设我有

    <div id="1">
    <span id="name">Josh</span>
    <div id="quote">Run</div>
    </div>

    <div id="2">
    <span id="name">Mark</span>
    <div id="quote">Run</div>
    </div>

如何从第一个div中选择span标记之间的名称?

$("#quote").click(function(){

    var name = $('#name').html();

}); 

6 个答案:

答案 0 :(得分:6)

首先,id必须在html文档中是唯一的。因此,理想情况下,您需要将div中的id更改为class。其次,id不能以数字开头,因此您需要将div ID更改为以字母或下划线开头。

考虑到这一点,考虑到这一点:

<div id="one">
    <span class="name">Josh</span>
    <div class="quote">Run</div>
</div>

<div id="two">
    <span class="name">Mark</span>
    <div class="quote">Run</div>
</div>

你会找:

$("#quote").click(function(){

    var name = $('#one .name').html();

}); 

答案 1 :(得分:1)

id在页面中应该是唯一的。您应该将namequote ID更改为一个类,该类不必是唯一的。

<div id="1">
    <span class="name">Josh</span>
    <div class="quote">Run</div>
</div>

<div id="2">
    <span class="name">Mark</span>
    <div class="quote">Run</div>
</div>

然后您可以通过以下方式选择:

$('#1 .name')

您还应该记住,id不应该以数字开头(HTML5除外)

答案 2 :(得分:0)

在#name之前添加#1将选择第一个div

$("#quote").click(function(){
     var name = $('#1 #name').html();
});

答案 3 :(得分:0)

 var name = $("#1 span").html()

var name = $('#1 #name').html();

答案 4 :(得分:0)

这应该适合你:

$("#1 span").text();

但是您的HTML存在一些问题。您的HTML中不应包含任何重复的ID,它们必须是唯一的。 ID也不应以数字开头。

您可以在此处查看小提琴:http://jsfiddle.net/

答案 5 :(得分:0)

您也可以通过这种方式选择div#1的第一个span标记内容:

var name = $("#1 span:first").html();