获取属性并添加类

时间:2014-05-12 18:23:50

标签: javascript jquery attributes

我想为子元素添加类,例如:

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

4 个答案:

答案 0 :(得分:2)

我认为你正在寻找更像这样的东西:

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

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

这将遍历每个a并获得自己的标题。然后它会将该类添加到他的后代。

答案 1 :(得分:0)

尝试这样的事情:

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

工作小提琴:http://jsfiddle.net/robertrozas/CTt38/

答案 2 :(得分:0)

这将遍历i中的每个.menu-item,然后将父级的title属性添加到类中......

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

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

答案 3 :(得分:0)

这有效:

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