var s = '<button class="add_friend_action btn success">abc</button>';
如何爲此添加「mini」類?如果我console.log(s)
,它將恢復正常。給定一個字符串,我如何使用JQuery向它添加一個類?
var s = '<button class="add_friend_action btn success">abc</button>';
如何爲此添加「mini」類?如果我console.log(s)
,它將恢復正常。給定一個字符串,我如何使用JQuery向它添加一個類?
我向你保證,$(s).addClass('mini')
工作得很好。試試這個:在這個意義上
var s = '<button class="add_friend_action btn success">abc</button>';
var $temp = $(s).addClass('mini');
console.log($temp);
$(S).addClass( '小')不工作...當我CONSOLE.LOG(S),它返回到正常
這是因爲字符串是不可變的,你需要輸出$(s)的html到一個新的字符串來獲得添加的類。
$('<div>').append($(s).addClass('mini')).html();
這實際上與字符串不可變有關。 *代碼中的任何部分都不是用來改變字符串的,所以不可變的字符串最好是切線相關的。 – meagar 2012-01-04 20:13:32
我想,但他期待他的原始字符串變量已被操縱,哪些不會發生。 – JaredMcAteer 2012-01-04 21:11:16
jQuery是用來操縱元素,這些設置之後已經是DOM的一部分,因爲「S」是,在這一點上只是一個字符串,jQuery將無法看到它可以有班級的東西。
所以有幾種不同的方法可以完成這個任務,最簡單的方法是給你一個可以用來定位它的屬性(或者只是使用那個屬性)和你的文檔準備好(或者在創建該元素之後,如果它不在初始DOM完成時)例如:
$('elementTargetName').addClass('mini');
希望這有助於您!
或者只是做馬特鮑爾說的。 :) – Ken 2012-01-04 20:02:17
試試這個:
var bt = $("<button/>").addClass("add_friend_action btn success mini").text("abc");
如果你想改變字符串本身,這將是一個方法:http://jsfiddle.net/AHH5G/1/。
var s = '<button class="add_friend_action btn success">abc</button>';
s = $(s).addClass("mini").wrap("<div>").parent().html();
基本上,你分析它,添加一個類,然後通過包裝,並調用包裝元素上.html()
獲得「外」 HTML。
你想獲取一個改變的字符串或一個實際的元素(或jQuery對象)? – pimvdb 2012-01-04 19:58:38
$(s).addClass('mini')'起作用,但不會修改's'。您需要將其保存到變量s = $(s).addClass('mini')'。 – 2012-01-04 20:06:40