我有以下HTML:
<div id="search_tbl_info" class="dataTables_info">Showing 1 to 20 of 62 entries</div>
62将从用户更改为用户。 它可能是0或它可能是2,431,介于两者之间。 另外值得注意的是,如果只有5个条目,则会显示:
<div id="search_tbl_info" class="dataTables_info">Showing 1 to 5 of 5 entries</div>
因此有几个值可能会发生变化。
如何在第一个示例中使用jQuery获取62的数值? 或2,431或5或任何值?
谢谢!
答案 0 :(得分:1)
如果你有这种特殊形式的文字
您可以使用:
var text = $('#search_tbl_info').text();
console.log(text.substring(text.indexOf('of') + 3, text.length - 8));
答案 1 :(得分:0)
数据-atributes 强>
一种方法是添加data-
属性。
我更喜欢这种工作方式,因为如果您需要更改文本,则无需更改代码。 (并考虑多种语言为例)
<div id="search_tbl_info" class="dataTables_info" data-start="1" data-to="20" data-total="62">Showing 1 to 20 of 62 entries</div>
现在您可以通过以下方式访问该值:
$("#search_tbl_info").attr('data-start/data-to/data-total')
或:
$("#search_tbl_info").data('start/to/total')
如果您需要所需的全文:
$("#search_tbl_info").text()
(不需要数据属性)
<强>跨度强>
另一种方法是跨越数字。像:
<div id="search_tbl_info" class="dataTables_info">Showing <span clas="from">1</span> to <span clas="to">20 </span>of <span clas="total">62</span> entries</div>
您可以通过以下方式访问它们:
$('#search_tbl_info .from').text()
$('#search_tbl_info .to').text()
$('#search_tbl_info .total').text()
答案 2 :(得分:0)
您可以尝试简单地抓取文本,将文本字符串拆分为空格并返回返回的数组的第5个索引。它看起来像下面这样:
// Together
var text = (($('#search_tbl_info').text()).split(' '))[5];
// Broken Out
var text = $('#search_tbl_info').text();
text = text.split(' ');
text = text[5];
请注意,此解决方案有效,因为在这两种情况下,总数(在这种情况下是所需的数字)似乎始终是字符串的第6部分(不包括空格)。这与基于5
索引的数组中的位置0
相关联。
重要提示:如果<div>
中的字数发生变化或字符串中的总数发生变化,此解决方案将根据确切的索引而分崩离析。
<强> DEMO 强>
答案 3 :(得分:0)
我认为如果字符串保持相同的格式,即
将数字显示为数字条目的数字
然后我们可以使用以下代码
$(document).ready(function () {
var div_string = $('#search_tbl_info').text();
var Total_Count = sd.substring(sd.lastIndexOf("of") + 3, sd.lastIndexOf(" entries"));
alert(Total_Count)
});
变量 Total_Count 包含所需的计数。