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"));
        }
    }
});

我在标题属性更改之前和之后都设置了两个警报来提醒它。

小提琴:http: //jsfiddle.net/VinnyFonseca/x8ceZ/

于 2013-03-18T15:57:20.873 回答
1

您快到了。这是小提琴

变化:

  1. $(this).val("");to $(this).text("");(您可以完全删除该语句)。
  2. $(this).parent().Attr("title", "Test");$(this).parent().attr("title", "Test");
于 2013-03-18T15:59:30.713 回答