如何从jquery中的同一个类名div获取值

时间:2014-07-22 05:52:14

标签: jquery

我想获得div类ln24的值,即Rs。 2000年

<div class="ln24">
    <a class="cblack" href="http://www.sample.com/kerala/">Vasant Kunj</a>
    <span class="search-result-address" >Address</span>
</div>

<div class="ln24">
    <span class="upc grey-text sml">Cost for 2: </span>
    Rs. 2000
</div> 

我已经尝试过这段代码,但它不起作用:

$(document).ready(function() {
    $('.ln24').each(function() {
        var cost = $(this).text();
    });      
});                                                                                                            

6 个答案:

答案 0 :(得分:1)

尝试在此上下文中使用.contents()来过滤掉所需的文字

var cost= $('.ln24:not(:has(a))').contents().last().text();

DEMO

答案 1 :(得分:1)

您可以使用:

document.getElementsByClassName("ln24")[0].lastChild.textContent;

<强> Working Demo

答案 2 :(得分:0)

试试这个: 获取带有class="ln24"的html元素并克隆它。现在获取克隆对象的子项并将其删除,因此现在您将只在克隆对象中具有标签部分。使用.text()方法

读取标签即费用
 $(document).ready(function() {
   var cost = $('.ln24').last().clone().children().remove().end().text();
   alert(cost);
 }); 

答案 3 :(得分:0)

$(".ln24").on("click" , function(){

       $(".ln24").toggle();
        return false;
});

这是我的一个例子:)

答案 4 :(得分:0)

试试这个:

 $('.ln24').clone().children().remove().end().text().trim();
 //           ^        ^         ^       ^
//            1        2         3       4
  
      
  1. 创建克隆
  2.   
  3. 选择所有子元素到克隆
  4.   
  5. 将所有子元素移除到克隆
  6.   
  7. 获取匹配/已过滤的克隆元素
  8.   

Working Fiddle

我认为,上述技巧可以帮到你。但是如果你的其他div有一些内部文本就会出现问题。文本将包含在您的输出中。请 See the problem

如果您总是希望获得最后一个div文本,则可以使用.last()

$('.ln24').last().clone().children().remove().end().text().trim();

答案 5 :(得分:-1)

如果可以在一个范围内包装所需内容:

<div class="ln24">
  <span class="upc grey-text sml">Cost for 2: </span><span class="rs">Rs. 2000</span>    
</div> 

您可以轻松地在jQuery中抓取它:

$(document).ready(function() {
  // ...
  var rs = $('.rs').text();
  console.log(rs);
});

DEMO:http://jsbin.com/limik/1/