Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果条件文本包含_Javascript_Jquery - Fatal编程技术网

Javascript 如果条件文本包含

Javascript 如果条件文本包含,javascript,jquery,Javascript,Jquery,我写了一个简单的if条件,但不太有效。 如果文本为123,则将其更改为hi;如果文本为456,则将其更改为hi2 谁能帮我一下吗 <h1>123</h1> <h1>456</h1> <h1>789</h1>​ $(document).ready(function() { var changeText1 = '123'; var changeText2 = '456'; v

我写了一个简单的if条件,但不太有效。 如果文本为123,则将其更改为hi;如果文本为456,则将其更改为hi2 谁能帮我一下吗

    <h1>123</h1>
    <h1>456</h1>
    <h1>789</h1>​


$(document).ready(function() {

    var changeText1 = '123';
    var changeText2 = '456';
    var text = $(h1).text();

    if (text == changeText) {
        $(this).text('hi');
    } else if (text == changeText2 ) {
        $(this).text('hi2');
    }

});
123
456
789​
$(文档).ready(函数(){
var changeText1='123';
var changeText2='456';
var text=$(h1.text();
if(text==changeText){
$(this.text('hi');
}else if(text==changeText2){
$(this.text('hi2');
}
});

这样做:

$(document).ready(function() {
    var change = {
        '123': 'hi',
        '456': 'hi2'
    };
    $('h1').text(function(i, txt) {
        return change[$.trim(txt)];
    });
});
演示:

这样做:

$(document).ready(function() {
    var change = {
        '123': 'hi',
        '456': 'hi2'
    };
    $('h1').text(function(i, txt) {
        return change[$.trim(txt)];
    });
});

演示:

您的代码有多处错误:

$(document).ready(function() {

    var changeText1 = '123';
    var changeText2 = '456';
    var text = $(h1).text(); //aside from having to iterate through, the jquery
                             //selector needs to be enclosed in quotes: $('h1')
    if (text == changeText) { //The variable 'changeText' does not exist.
        $(this).text('hi');
    } else if (text == changeText2 ) {
        $(this).text('hi2');
    }

});

//working code:
$(document).ready(function() {

    var changeText1 = '123';
    var changeText2 = '456';

    $('h1').each(function() {
        var text = $(this).text();
        if (text == changeText1) {
            $(this).text('hi');
        } else if (text == changeText2) {
            $(this).text('hi2');
        }
    });
});​

您的代码有多处错误:

$(document).ready(function() {

    var changeText1 = '123';
    var changeText2 = '456';
    var text = $(h1).text(); //aside from having to iterate through, the jquery
                             //selector needs to be enclosed in quotes: $('h1')
    if (text == changeText) { //The variable 'changeText' does not exist.
        $(this).text('hi');
    } else if (text == changeText2 ) {
        $(this).text('hi2');
    }

});

//working code:
$(document).ready(function() {

    var changeText1 = '123';
    var changeText2 = '456';

    $('h1').each(function() {
        var text = $(this).text();
        if (text == changeText1) {
            $(this).text('hi');
        } else if (text == changeText2) {
            $(this).text('hi2');
        }
    });
});​


只有在您能够保证DOM上元素的顺序时,这才有效,这似乎是一个危险的假设。只有在您能够保证DOM上元素的顺序时,这才有效,这似乎是一个危险的假设。简单快速,我使用了contains,但不起作用,我发现我漏掉了一个字母!这比其他两个答案的效率低。简单快速,我用了contains,但没有用,我发现我漏了一封信!谢谢你的解释,这比其他两个答案的效率都低。谢谢你的解释,请把我的答案打勾,这是正确的答案。@olo欢迎,很高兴我能帮忙。谢谢你的解释,请把我的答案打勾。@olo欢迎,很高兴我能帮忙。你有多少文本替换?你有多少文本替换?