0

私はこのhtmlコードを持っています:

<a class="ms-navedit-linkNode" title="Apps" href="url/test">
    <span class="menu-item-text">Apps</span>
</a>

タイトルの値を「アプリ」から別のものに変更したい。

これは私が使用しているjavascriptですが、タイトル変数を与えるだけですundefined

注:他のすべては私のjsコードでうまく機能します

<script type="text/javascript">
    $(document).ready(function() {
        $(".menu-item-text").each(function() {
            var text = $(this).text();
            if (text == "Apps") {
                $(this).text("");
                $(this).text("Organization");

                var title = $(this).parent().attr("title");

                if (title == "Apps") {
                    $(this).parent().attr("title", "Organization");
                }
            }
        });
    });
</script>

ここで何か間違ったことをしていますか?

4

2 に答える 2

2

HTML に二重引用符がありません

<a class="ms-navedit-linkNode" title="Apps" href="url/test">
    <span class="menu-item-text">Apps</span>
</a>

また、Attr に大文字の A がありました。そのはず:

$(".menu-item-text").each(function() {
    var text = $(this).text();
    if (text == "Apps") {
        $(this).text("Organization");

        var title = $(this).parent().attr("title");
        alert($(this).parent().attr("title"));

        if (title == "Apps") {
            $(this).parent().attr("title", "Test");
            alert($(this).parent().attr("title"));
        }
    }
});

title 属性が変更される前と後に両方のアラートを配置して、 title 属性を警告します。

フィドル: http://jsfiddle.net/VinnyFonseca/x8ceZ/

于 2013-03-18T15:57:20.873 に答える
1

あなたはほとんどそこにいます。これがフィドルです。

変更点:

  1. $(this).val("");$(this).text("");(ステートメントを完全に削除できます)。
  2. $(this).parent().Attr("title", "Test");$(this).parent().attr("title", "Test");
于 2013-03-18T15:59:30.713 に答える