Javascript 如果文本或值以字符开头,请运行函数

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)

我需要检测span中的文本是否以字母“x”开头,并运行函数。我读到我可以用字符串中的“^”来做,但是在检查文本时遇到了问题

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即使生成了标记,也应该控制生成的内容:)