Javascript 如果在任何标签中找到特定文本,我想禁用该按钮

Javascript 如果在任何标签中找到特定文本,我想禁用该按钮,javascript,innertext,Javascript,Innertext,如果在任何标签中找到特定文本,我想禁用该按钮。 以下代码没有运行,因为aTags[i]。innerText不总是等于searchText,这是错误的,因为标签中有inner text=“a”,而searchText变量中有“a”作为文本-我需要它在IE中运行 <html> <script language="javascript"> $(document).ready(function () { var aTags = do

如果在任何标签中找到特定文本,我想禁用该按钮。 以下代码没有运行,因为
aTags[i]。innerText
不总是等于searchText,这是错误的,因为标签中有inner text=“a”,而searchText变量中有“a”作为文本-我需要它在IE中运行

<html>
    <script language="javascript">
        $(document).ready(function () {
            var aTags = document.getElementsByTagName("label");
            var searchText = "a";
            var found;

            for (var i = 0; i < aTags.length; i++) {
                if (aTags[i].innerText == searchText) {
                    document.getElementById('choose').disabled=true;
                    break;
                }
                else
                {
                    alert("failed")
                }  
            }
        });
    </script>

    <label> a </label> <br/>
    <label> b </label> <br/>
    <label> c </label> <br/>

    <input type='button' value='choose' id='choose' />    
</html>

$(文档).ready(函数(){
var aTags=document.getElementsByTagName(“标签”);
var searchText=“a”;
var发现;
对于(变量i=0;i
b
c

您必须修剪标签的文本。尝试:

if (aTags[i].innerText.trim() == searchText)
或不带
trim
方法:

if (aTags[i].innerText.replace(/^\s+|\s+$/g, '') == searchText)

您必须修剪标签的文本。尝试:

if (aTags[i].innerText.trim() == searchText)
或不带
trim
方法:

if (aTags[i].innerText.replace(/^\s+|\s+$/g, '') == searchText)

您必须修剪标签的文本。尝试:

if (aTags[i].innerText.trim() == searchText)
或不带
trim
方法:

if (aTags[i].innerText.replace(/^\s+|\s+$/g, '') == searchText)

您必须修剪标签的文本。尝试:

if (aTags[i].innerText.trim() == searchText)
或不带
trim
方法:

if (aTags[i].innerText.replace(/^\s+|\s+$/g, '') == searchText)

如果要匹配是否存在子字符串,可以尝试使用

aTags[i].innerText.indexOf(searchText) > -1
而不是

aTags[i].innerText == searchText

如果要匹配是否存在子字符串,可以尝试使用

aTags[i].innerText.indexOf(searchText) > -1
而不是

aTags[i].innerText == searchText

如果要匹配是否存在子字符串,可以尝试使用

aTags[i].innerText.indexOf(searchText) > -1
而不是

aTags[i].innerText == searchText

如果要匹配是否存在子字符串,可以尝试使用

aTags[i].innerText.indexOf(searchText) > -1
而不是

aTags[i].innerText == searchText

似乎应该有更简单的方法来使用jQuery实现这一点

$(function () {
    var searchText = "a";

    $('#choose').prop('disabled', function() {
        return $('label').filter(function(_,el) {
            return $.trim( $(el).text() ) === searchText;
        }).length > 0;
    });
});

使用jQuery似乎应该有更简单的方法来实现这一点

$(function () {
    var searchText = "a";

    $('#choose').prop('disabled', function() {
        return $('label').filter(function(_,el) {
            return $.trim( $(el).text() ) === searchText;
        }).length > 0;
    });
});

使用jQuery似乎应该有更简单的方法来实现这一点

$(function () {
    var searchText = "a";

    $('#choose').prop('disabled', function() {
        return $('label').filter(function(_,el) {
            return $.trim( $(el).text() ) === searchText;
        }).length > 0;
    });
});

使用jQuery似乎应该有更简单的方法来实现这一点

$(function () {
    var searchText = "a";

    $('#choose').prop('disabled', function() {
        return $('label').filter(function(_,el) {
            return $.trim( $(el).text() ) === searchText;
        }).length > 0;
    });
});

问题在于,您的标签包含
“a”
(带空格),但您正在与
“a”
(无空格)进行比较

如果要忽略空格,可以使用jQuery的
$.trim(…)
内部文本中修剪文本

但在使用jQuery时,您可以大大减少代码:

$(document).ready(function() {
    var searchText = "a";
    var found = false;
    $("label").each(function() {
        found = $.trim($(this).text()) === searchText;
        if (found) {
            return false; // No need to keep looking
        }
    });
    $("#choose").prop("disabled", true);
});

问题是您的标签包含
“a”
(带空格),但您正在与
“a”
(无空格)进行比较

如果要忽略空格,可以使用jQuery的
$.trim(…)
内部文本中修剪文本

但在使用jQuery时,您可以大大减少代码:

$(document).ready(function() {
    var searchText = "a";
    var found = false;
    $("label").each(function() {
        found = $.trim($(this).text()) === searchText;
        if (found) {
            return false; // No need to keep looking
        }
    });
    $("#choose").prop("disabled", true);
});

问题是您的标签包含
“a”
(带空格),但您正在与
“a”
(无空格)进行比较

如果要忽略空格,可以使用jQuery的
$.trim(…)
内部文本中修剪文本

但在使用jQuery时,您可以大大减少代码:

$(document).ready(function() {
    var searchText = "a";
    var found = false;
    $("label").each(function() {
        found = $.trim($(this).text()) === searchText;
        if (found) {
            return false; // No need to keep looking
        }
    });
    $("#choose").prop("disabled", true);
});

问题是您的标签包含
“a”
(带空格),但您正在与
“a”
(无空格)进行比较

如果要忽略空格,可以使用jQuery的
$.trim(…)
内部文本中修剪文本

但在使用jQuery时,您可以大大减少代码:

$(document).ready(function() {
    var searchText = "a";
    var found = false;
    $("label").each(function() {
        found = $.trim($(this).text()) === searchText;
        if (found) {
            return false; // No need to keep looking
        }
    });
    $("#choose").prop("disabled", true);
});

因为您已经在使用jQuery,所以可以用更少的复杂性做您喜欢做的事情。 这将有助于:

(function ($) {
    var searchText = "a";
    $('label').each(function(){
        if ($.trim($(this).text()) === searchText) {
            $('#choose').prop('disabled', true);
        } 
    });
})(jQuery);

因为您已经在使用jQuery,所以可以用更少的复杂性做您喜欢做的事情。 这将有助于:

(function ($) {
    var searchText = "a";
    $('label').each(function(){
        if ($.trim($(this).text()) === searchText) {
            $('#choose').prop('disabled', true);
        } 
    });
})(jQuery);

因为您已经在使用jQuery,所以可以用更少的复杂性做您喜欢做的事情。 这将有助于:

(function ($) {
    var searchText = "a";
    $('label').each(function(){
        if ($.trim($(this).text()) === searchText) {
            $('#choose').prop('disabled', true);
        } 
    });
})(jQuery);

因为您已经在使用jQuery,所以可以用更少的复杂性做您喜欢做的事情。 这将有助于:

(function ($) {
    var searchText = "a";
    $('label').each(function(){
        if ($.trim($(this).text()) === searchText) {
            $('#choose').prop('disabled', true);
        } 
    });
})(jQuery);


你想删除空格吗?演示
if(aTags[i].innerText.trim()==searchText){
$。trim比…trim()安全,所以您想删除空格?演示
if(aTags[i].innerText.trim()==searchText){
$。trim比…trim()安全,所以您想删除空格?演示
if(aTags[i].innerText.trim()==searchText){
$。trim比…trim()安全那么你想删除空格吗?如果IE支持是个问题,那么演示
if(aTags[i].innerText.trim()==searchText){
$。trim比…trim()更安全。实际上,如果IE支持是个问题,我不会依赖
String#trim
(这对标准来说是相对较新的)。我会使用jQuery的
$.trim
(因为OP使用的是jQuery…)实际上我会使用
if($.trim)(aTags[i].innerText).indexOf(searchText)>-1)
@T.J.Crowder我在regex中添加了一个替代解决方案。这是jQuery的$.trim()是更好的解决方案,因为如果IE支持是个问题,IEI不会依赖
String#trim
(这对标准来说是相对较新的)。我会使用jQuery的
$.trim
(因为OP使用的是jQuery…有点。)实际上我会使用
if($.trim(aTags[I].innerText).indexOf(searchText)>-1)
@T.J.Crowder我已经用regex添加了另一种解决方案。这是jQuery,所以$.trim()是更好的解决方案,因为IEI不会依赖
String#trim
(这对于标准来说是比较新的)如果IE支持是一个问题。我会使用jQuery的
$.trim
(因为OP使用的是jQuery…)实际上我会使用
if($.trim(aTags[I].innerText).indexOf(searchText)>-1)
@T.J.Crowder我已经用regex添加了一个替代解决方案。这是jQuery所以$。trim()是更好的解决方案,因为IEI不会依赖
String
trim
(这对于标准来说相对较新)如果IE支持是一个问题。我会使用jQuery的
$.trim
(因为OP使用的是jQuery…)实际上我会使用
if($.trim(aTags[I].innerText).indexOf(searchText)>-1)
@T.J.Crowder我用regex添加了一个替代解决方案。这就是jQuery so$.trim()是更好的一个,因为IEIt允许
“foooa bar”。indexOf(“a”)
是的,这就是substring的意思。如果需要整个字符串匹配,那么