Получение атрибута и добавление класса

0

Я хочу добавить класс для дочернего элемента, как в примере:

<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.

  • 1
    Вы пытаетесь добавить класс в <i> или заменить все классы?
Теги:
attributes

4 ответа

2
Лучший ответ

Я думаю, вы ищете что-то большее:

$(".menu-item a").each(function(){
    var title = $(this).attr('title');

    $(this).find("i").addClass("fa-" + title);
});

Это будет проходить через каждый a и получить свой собственный заголовок. Затем он добавит класс к своему потомку.

  • 0
    Это работает, спасибо!
0

Попробуйте что-то вроде этого:

$(document).ready(function() {
var title = $(".menu-item a").attr('title');
$(".menu-item a i").addClass("fa-"+title);
});

Рабочая скрипка: http://jsfiddle.net/robertrozas/CTt38/

0

это работает:

$(document).ready(function() {
var title = "fa-" + $(".menu-item a").attr('title');
$(".menu-item i").addClass(title);
});
0

это будет проходить каждый i в .menu-item затем добавить атрибут title родителя в класс...

$('.menu-item i').addClass(function () {
  return 'fa-' + this.parentNode.title;
});

http://jsbin.com/peyofira/2/edit?html,js,output

Ещё вопросы

Сообщество Overcoder
Наверх
Меню