如何使用jQuery从title添加data-attr和class?

时间:2015-04-12 10:48:59

标签: javascript jquery class attributes title

我在页面上有一个元素,其中title =" class className dataAttr"。 我想创建一个jQuery代码,它将className添加到class =" className"和dataAttr到data-icon =" dataAttr"从标题。 这是我的代码:



<script>	
$(document).ready(function () {

    $("[title*='class']").addClass(function () {
        return $(this).attr('title');
    }).attr('data-icon', function () {
        str = $(this).attr("title");
        str = str.replace('class', '');
        return str
    }).removeClass('class').removeAttr('title');
});
</script>
&#13;
&#13;
&#13;

但是这个脚本也将className和dataAttr一起添加到class和data-icon中。我认为className和dataAttr之间的空格或符号会有一些条件来单独添加它。 我不知道该怎么做。你知道一些解决方案吗? 我希望你能理解我的问题。

1 个答案:

答案 0 :(得分:0)

以下代码段有效:

&#13;
&#13;
	
	$( document ).ready(function() {

	$("[title*='class']").each(function() {
       var title = $(this).attr('title');
       var titleArray = title.split(" ");
       $(this).addClass(titleArray[1]);
       $(this).attr("data-icon", titleArray[2]);
       $(this).removeAttr('title');
    });
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p title="class className dataAttr">test</p>
&#13;
&#13;
&#13;