2012-02-15 31 views
0

我在页面中有几个跨度,我想要获得它们中的每一个,并在我的javascript控制台中显示每个跨度的值。想要在jquery中获取特定跨度的所有值

这里我的我的代码例如:

<div id="les-articles-du-panier"> 
<span id="mon-panier-qte-1">36</span> 
<span id="mon-panier-qte-3">26</span> 
<span id="mon-panier-qte-4">8</span> 
<span id="mon-panier-qte-5">12</span> 
</div> 

和每个星期一帕尼埃-qte-我的Wnt做的console.log(蒂蒂);

Thx!

回答

1

span元素没有价值,但假设你的意思是他们的文本内容:如果你只是想内les-articles-du-panier的那些:

$("#les-articles-du-panier > span").each(function() { 
    console.log($(this).text()); 
}); 

,其选择的元素,然后循环在他们each

选择器将仅匹配元素的直接子元素的span元素与ID“les-articles-du-panier”。如果你想所有后代(包括儿童的孩子等),请忽略>,只是使用$("#les-articles-du-panier span")...

如果你真的只是想选择“周一帕尼埃-qte- *”的元素,你可以使用一个attribute starts with选择,而不是:

$('span[id^="mon-panier-qte-"]').each(function() { 
    console.log($(this).text()); 
}); 

或者你甚至可以将它们结合起来,以只有匹配“周一帕尼埃-qte- *” 元素是 “莱文章笃帕尼埃” 的直接孩子:

$('#les-articles-du-panier > span[id^="mon-panier-qte-"]').each(function() { 
    console.log($(this).text()); 
}); 

...或后代(只是删除了>):

$('#les-articles-du-panier span[id^="mon-panier-qte-"]').each(function() { 
    console.log($(this).text()); 
}); 

你明白了。值得阅读选择器herehere

+0

,在DIV莱文章笃apnier我已经undread其他跨度像span id =“tutu”...;) – superscral 2012-02-15 09:10:18

+0

@superscral:我已经更新,以显示替代只是为了那些。对不起,首先在你的问题结尾错过了这条线。 – 2012-02-15 09:12:15

2

和每个周一帕尼埃-qte-我Wnt信号做的console.log(蒂蒂);

像这样:

$('#les-articles-du-panier span[id^="mon-panier-qte"]').each(function(){ 
    console.log($(this).text()); // or whatever 
}); 

如果跨度总是直接出现以下主要格,您可以使用即时子女选择>

$('#les-articles-du-panier > span[id^="mon-panier-qte"]').each(function(){ 
    console.log($(this).text()); // or whatever 
}); 

如果里面#les-articles-du-panier所有的跨度只有那些具有ID开头mon-panier-qte,你可以跳过:

$('#les-articles-du-panier span').each(function(){ 
    console.log($(this).text()); // or whatever 
}); 
+0

好,如果我想要的价值,而不是ID? thx – superscral 2012-02-15 09:12:56

+0

@superscral:然后你会使用'$(this).text()'。 – Sarfraz 2012-02-15 09:13:39

+0

太棒了! 最后一个问题, 如果我想为每个div“ma-div-xxx”获取所有跨度,其中id是mon-panier-qte-xxx和mon-panier-mt-xxx Thx! – superscral 2012-02-15 09:22:30

0
$('span[id^="mon-panier-qte"]').each(function(){ 
    console.log($(this).text()); 
}); 

这将记录您的HTML页面中每个跨度的所有“值”。你必须知道跨度没有价值,它只能包含文本。使用方法.text()得到的结果但请注意,如果在span .text()中有一些html代码去除了每个html内容并且只返回纯文本。此外,您可以指定您跨度的班级应该包含哪些类别等等。对于在选择器;-)

看看jQuery的的.each()文档。还有就是解释了什么。每个()做什么的好:这个问题是

+0

问题是,在div文章du apnier我有其他未读如跨度id =“tutu”...;) – superscral 2012-02-15 09:12:43

+0

是的,但通过指定你只有什么跨越与开始“mon-panier-qte”像我的答案一样,所有的短裙都会被忽略; - ) – 2012-02-15 09:14:05

-1
jQuery("#les-articles-du-panier").children().each(function() { 
     console.log($(this).text());   
}); 
+0

这就是不是答案,他不想让每个孩子都只想要以mon-panier-qte开头的跨度! – 2012-02-15 09:15:39