0

大文字と小文字をランダムに交互にする文字列が必要です。

これを行うには、クラス「post__title」のコンテンツを文字列に取得し、その文字列を文字の配列に分解します。次に、その配列をループし、各文字に 0 または 1 をランダムに割り当てます。値が 1 の場合、文字は大文字に変換され、値が 0 の場合、文字は小文字に変換されます。これを「post__title」に再適用して、古いコンテンツを置き換える必要があります。

私はかなり経験が浅いですが、これまでのところ、コンソールエラー「Uncaught TypeError: 未定義のプロパティ '値' を読み取ることができません」という結果になる次のものがあります。私はそれを機能させる方法を理解できないようです。

$(window).load(function() {
var z;
var title = $('.post__title').text().split("");
for (i = 0; i < title.length; ++i) {
    z = Math.floor(Math.random() * (1 - 0 + 1)) + 0;
    if (z==1) {
        title[i].this.value.toUpperCase();
    }
    else {
        title[i].this.value.toLowerCase();
    } 
};
$.map(title, function(val,index) {
    var str = index + ":" + val;
    return str;
}).join(", ");
$(".post__title").text(str);
});
4

2 に答える 2

0

この関数は動作します:

$(window).load(function() {
    var z;
    var title = $('.post__title').text();
    var str = "";
    for (i = 0; i < title.length; ++i) {
        z = Math.floor(Math.random() * (1 - 0 + 1)) + 0;
        if (z==1)
            str += title[i].toUpperCase(); //put value in str, no need for .this.value
        else
            str += title[i].toLowerCase();
    };

    $(".post__title").html(str);
});
于 2013-07-02T14:20:10.887 に答える
0
    $(window).load(function() {
    var z;
    var title = $('.post__title').text().split("");
    for (i = 0; i < title.length; ++i) {
        z = Math.floor(Math.random() * (1 - 0 + 1)) + 0;
        if (z==1) {
            title[i].toUpperCase();
        }
        else {
            title[i].toLowerCase();
        } 
    $.map(title, function(val,index) {
        var str = index + ":" + val;
        return str;
    }).join(", ");
    $(".post__title").text(str);
    });

を使用してtitle[i].this.value.toUpperCase();いました。title[i]すでに手紙への参照があるため、これは正しくありません。toUpperCase()またはtoLowerCase()に電話するだけtitle[i]です。

于 2013-07-02T14:12:29.290 に答える