2015-02-21 2 views

ответ

1

Вы можете использовать attribute contains selector и вызвать attr с функцией обратного вызова, чтобы изменить атрибут для каждого элемента. В моем примере я использую метод replace с regular expression, чтобы убедиться, что все классы в списке, начинающиеся с z-, заменяются и только те экземпляры этой строки. Затем просто оберните его в обертку jQuery document ready, и вы готовы к работе.

$(function(){ 
    //Select only the a tags with "z-" in the "class" attribute, and modify the attribute using a callback function. 
    $('a[class*="z-"]').attr('class', function(index, attr) { 
     //Return the updated string, being sure to only replace z- at the start of a class name. 
     return attr.replace(/(^|\s)z-/g, 'fa-'); 
    }); 
}); 
+1

он работает! но я не могу возвысить :) Спасибо alex! –

0
$(document).ready(function(){ 
    var self = $("a.z-dynamic"); 
    self.attr("class", self.attr("class").replace("z-", "fa-")); 
}); 

Это изменит

From <a href="#" class="z-dynamic">Link</a> 

to <a href="#" class="fa-dynamic">Link</a> 
+0

Я думаю, что 'dynamic' часть неизвестна. –

+0

@ AlexanderO'Mara Вы имеете в виду, что думаете, что это происходит из переменной? – void

+0

это право alex :) –

0

Если у вас есть ссылка на этот узел уже, вы можете легко применить немного регулярных выражений наряду .replace() к Classname.

anchor.className = anchor.className.replace(/z-/, 'fa-'); 
Смежные вопросы