Я хочу добавить класс для дочернего элемента, как в примере:
<ul>
<li class="menu-item">
<a href="#" title="forum">
<i class="fa"></i>
Forum
</a>
</li>
</ul>
и js:
$(document).ready(function() {
var title = $(".menu-item a").attr('title');
$(".menu-item a i").addClass(
function( title ) {
return "fa-" + title;
});
});
Я не знаю, как отремонтировать этот JavaScript.
Я думаю, вы ищете что-то большее:
$(".menu-item a").each(function(){
var title = $(this).attr('title');
$(this).find("i").addClass("fa-" + title);
});
Это будет проходить через каждый a
и получить свой собственный заголовок. Затем он добавит класс к своему потомку.
Попробуйте что-то вроде этого:
$(document).ready(function() {
var title = $(".menu-item a").attr('title');
$(".menu-item a i").addClass("fa-"+title);
});
Рабочая скрипка: http://jsfiddle.net/robertrozas/CTt38/
это работает:
$(document).ready(function() {
var title = "fa-" + $(".menu-item a").attr('title');
$(".menu-item i").addClass(title);
});
это будет проходить каждый i
в .menu-item
затем добавить атрибут title родителя в класс...
$('.menu-item i').addClass(function () {
return 'fa-' + this.parentNode.title;
});
<i>
или заменить все классы?