我有这个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>
我在这里做错了吗?
答案 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"));
}
}
});
我发出两个警告,在标题属性发生变化之前和之后提醒它。
答案 1 :(得分:1)
你快到了。这是fiddle。
的变化:
$(this).val("");
至$(this).text("");
(您可以完全删除该声明)。$(this).parent().Attr("title", "Test");
至$(this).parent().attr("title", "Test");