我遇到了从html字符串段落中检测数字的问题。 让我先来看一下html页面的概述。
我要做的是,当用户将鼠标悬停或悬停在段落中的任何数字上时,表格中的相同数字将会更改样式(可能会突出显示)。
问题是,如何通过鼠标悬停或悬停使用jQuery从段落中提取数字?
我一直在考虑为段落中的每个数字值添加span标记,以便我可以使用`$(this).find(' span')。text(...)来匹配然后用桌子的细胞。
任何人都会告诉我如何开始检测? Tqvm!
答案 0 :(得分:2)
您可以使用正则表达式从文本中获取所有数字,然后使用它执行某些操作。
// Set your selector here, because its probably not all 'p' elements
$("p").hover(function(){
var paragraphText = $(this).text();
var allNumbers = paragraphText.match( /\d+/g );
console.log(allNumbers); // A string, comma seperated, with all numbers
var numbersArray = allNumbers.split(',');
console.log(numbersArray); // An array of all the numbers
// Loop through the array and do something with each number.
$.each(numbersArray, function(index, theNumber){
console.log(theNumber);
});
});
答案 1 :(得分:0)
.navbar-default
{
background-color: #7574bf;
}
$(document).ready(function(){
var tds = $('td');
$('span').on('mouseenter ', function(){
var text = $(this).text();
$.each(tds, function(i, l){
var tmp = tds.eq(i).text();
if (tmp == text) {
tds.eq(i).addClass('highlight');
} else {
tds.eq(i).removeClass('highlight');
}
});
});
$('span').on('mouseleave', function(){
$.each(tds, function(i, l){
tds.eq(i).removeClass('highlight');
});
});
});
.highlight{
background-color: red;
}