0

単純な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');
    }

});

</ p>

http://jsfiddle.net/8P2ma/

4

3 に答える 3

2

コードには複数の問題があります。

$(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');
        }
    });
});​
于 2012-10-30T22:59:01.210 に答える
1
$(function() {
    $('h1:contains("123")').text('hi');
    $('h1:contains("456")').text('hi2');
});​

フィドル

于 2012-10-30T23:00:45.073 に答える
0

このようにしてください:

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

デモ:http: //jsfiddle.net/By4Ra/

于 2012-10-30T22:56:48.740 に答える