使用parent()获取标题值

时间:2013-03-18 15:44:06

标签: javascript jquery

我有这个HTML代码:

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

我想将标题值从“Apps”更改为其他内容。

以下是我使用的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>

我在这里做错了吗?

2 个答案:

答案 0 :(得分: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/

答案 1 :(得分:1)

你快到了。这是fiddle

的变化:

  1. $(this).val("");$(this).text("");(您可以完全删除该声明)。
  2. $(this).parent().Attr("title", "Test");$(this).parent().attr("title", "Test");