Javascript 如果文本或值以字符开头,请运行函数
我需要检测span中的文本是否以字母“x”开头,并运行函数。我读到我可以用字符串中的“^”来做,但是在检查文本时遇到了问题Javascript 如果文本或值以字符开头,请运行函数,javascript,jquery,html,contains,startswith,Javascript,Jquery,Html,Contains,Startswith,我需要检测span中的文本是否以字母“x”开头,并运行函数。我读到我可以用字符串中的“^”来做,但是在检查文本时遇到了问题 xfoo if($('span:contains(^“x”)).length>0){ 警报(“此页面上有以x开头的文本”); } 我还可以检查输入字段的值。您必须迭代所有元素,检查条件并运行代码。使用text()获取元素的textContent,使用trim()删除前导空格和尾随空格 $('span').each(function() { if ($(this)
xfoo
if($('span:contains(^“x”)).length>0){
警报(“此页面上有以x开头的文本”);
}
我还可以检查输入字段的值。您必须迭代所有
元素,检查条件并运行代码。使用text()
获取元素的textContent,使用trim()
删除前导空格和尾随空格
$('span').each(function() {
if ($(this).text().trim().startsWith('x')) {
alert('Check this span, it starts with x');
// Use `$(this)` here to refer to the current <span>
}
});
您必须迭代所有
元素,检查条件并运行代码。使用text()
获取元素的textContent,使用trim()
删除前导空格和尾随空格
$('span').each(function() {
if ($(this).text().trim().startsWith('x')) {
alert('Check this span, it starts with x');
// Use `$(this)` here to refer to the current <span>
}
});
首先,您需要
trim()
文本以删除前导/尾随空格。从那里,您可以使用filter()
和charAt(0)
来比较第一个字符。大概是这样的:
var $spans = $('span').filter(function() {
return $(this).text().trim().charAt(0) == 'x';
});
if ($spans.length) {
console.log('Check these spans which start with x');
$span.addClass('foo');
}
您可以使用
startsWith()
而不是charAt()
,但请注意,在任何版本的IE(甚至在Chrome 41、FF 17和Opera 28下)中,如果不使用polyfill,都不支持此功能。首先,您需要trim()
文本以删除前导/尾随空格。从那里,您可以使用filter()
和charAt(0)
来比较第一个字符。大概是这样的:
var $spans = $('span').filter(function() {
return $(this).text().trim().charAt(0) == 'x';
});
if ($spans.length) {
console.log('Check these spans which start with x');
$span.addClass('foo');
}
您可以使用
startsWith()
而不是charAt()
,但请注意,在任何版本的IE(甚至在Chrome 41、FF 17和Opera 28下)中,如果不使用polyfill,都不支持此功能。使用regx将有助于验证文本
var s = document.getElementsByTagName('span');
var pattern = new RegExp('^[x]');
if(pattern.test(s[0].innerText)){
console.log('found match');
}
else {
console.log('not found')
}
使用regx将有助于验证文本
var s = document.getElementsByTagName('span');
var pattern = new RegExp('^[x]');
if(pattern.test(s[0].innerText)){
console.log('found match');
}
else {
console.log('not found')
}
首先,您的“跨度”以“空间”开始……首先,您的“跨度”以“空间”开始……这非常有效,谢谢!检查某个值是否也会起作用?在页面的另一个地方,我想通过使用startsWith…@user3390251检查输入字段的值。您可以使用类似的代码来
$('input')
和.val()
,而不是text()
应该可以。我会在这些跨度上添加一个类,然后按类选择它们,而不是在每个跨度上迭代。@SilviuBurcea是的,这会更快,但实际上取决于OP的要求。如果生成了标记怎么办?@Tushar即使生成了标记,也应该可以控制生成的内容:)这很好,谢谢!检查某个值是否也会起作用?在页面的另一个地方,我想通过使用startsWith…@user3390251检查输入字段的值。您可以使用类似的代码来$('input')
和.val()
,而不是text()
应该可以。我会在这些跨度上添加一个类,然后按类选择它们,而不是在每个跨度上迭代。@SilviuBurcea是的,这会更快,但实际上取决于OP的要求。如果生成了标记怎么办?@Tushar即使生成了标记,也应该控制生成的内容:)