我在表格中有很长的行(tr)。
我想找到每次出现的' M'在第三个td内,所以我提出了这个:
$(document).ready(function() {
function countInstance(needle) {
var count = 0;
$("table").find("TR TD:nth-child(3):contains(' "+needle+" ')").each(function() {
count += 1;
});
console.log(count);
};
countInstance("M");
});
但是控制台没有返回修改后的计数。理想情况下,我想在其他td元素中搜索和计算其他变量的出现次数,将每个变量记录到变量或将它们推送到数组。
编辑:
大部分已经解决了,但这似乎有点不准确。
$(document).ready(function() {
function countInstance(tdNum, needle) {
var count = 0;
$('table TR').find('TD:nth-child(' +tdNum+ '):contains(' +needle+ ')').each(function() {
count += 1;
});
console.log(count);
};
countInstance(3, 'M');
});
答案 0 :(得分:0)
function countInstance(tdNum, needle) {
var contents = $("table tr").find("td:nth-child(" + tdNum + ")").text();
count = contents.split(needle).length - 1;
console.log(count);
};
var result1 = countInstance(3, "M");
function countInstance2(tdNum, needle) {
var count = 0;
$('table TR').find('TD:nth-child(' +tdNum+ '):contains(' +needle+ ')').each(function() {
count += 1;
});
console.log(count);
};
var result2 = countInstance2(3,"M");

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tr>
<td>MMMMMMMMM</td>
<td>MMMMMMMM</td>
<td>MMMMMMM</td>
</tr>
</table>
<div id="one"></div>
<div id="two"></div>
&#13;
$(document).ready(function() {
function countInstance(tdNum, needle) {
var contents = $("table tr").find("td:nth-child(" + tdNum + ")").text();
count = contents.split(needle).length - 1;
console.log(count);
};
countInstance(3, "M");
});