当选择菜单的锚点按钮内的子菜单的锚点时...我希望将按钮的文本更改为子菜单的锚点的文本。此外,如果文字超过12个字符,则应将其更改为前9个字符,然后按' ...'
此菜单的HTML为:
<ul class="role-menu">
<li><a href="#">Podcast</a></li>
<li class="viewby-role">
<a href="#">View by Role</a>
<ul class="viewby-inner">
<li><a href="#">View all Roles</a></li>
<li><a href="#">Blount</a></li>
<li><a href="#">Lieutenant</a></li>
</ul>
</li>
</ul>
假设什么时候中尉&#39;点击&#39;按角色查看&#39;文字应该变成“谎言”。
这可以使用jQuery吗?非常困在这个
答案 0 :(得分:3)
$('.viewby-inner a').on('click', function() {
var text = $(this).text();
text = text.length >= 12 ? text.slice(0, 9) + '...' : text;
$('.viewby-role a:first').text(text);
});
答案 1 :(得分:1)
如果你有几个role-menu
块或几个子菜单,以下内容应该为所有人做:
$('.viewby-inner a').on('click', function(e) {
e.preventDefault();
var targ = $(this).closest('li.viewby-role').children('a').first(),
txt = this.text;
txt = txt.length > 12 ? txt.substring(0,9) + '...' : txt;
targ.text( txt );
});
答案 2 :(得分:0)
试试这个,
$('.viewby-inner a').on('click', function() {
var text = $(this).text();
text = text.length >= 12 ? text.substr(0, 9) + '...' : text;
$('.viewby-role a:first').text(text);
});