2015-11-13 32 views
0

一個屬性我無法從JQuery的同時從數據

data-smth="{containment:'.video-section', quality:'large', mute:true, opacity:1}" 

趕上屬性我想帶靜音和更改爲false。 我該怎麼做?對於具有一個屬性的數據是有效的。

回答

0

試戴

$('.selector').attr("data-smth","{containment:'.video-section', quality:'large', mute:false, opacity:1}"); 

這裏的文檔:http://api.jquery.com/attr/

+0

它的工作原理!謝謝:) – grisza12

+0

很高興幫助。如果你滿意@ Grisza,請給我答覆 –

0

這是因爲當你使用.attr()jQuery中讀取數據,未便這個屬性的返回值始終是一個字符串。

因此,爲了將靜音變爲false,您需要做的就是使用jQuery.parseJSON()函數。但是,您還需要將屬性數據格式設置爲適當的JSON格式。

伊夫在這裏做了一個plunker與我是如何做到的

<h1 id="title" data-smth='{"containment":".video-section", "quality":"large", "mute":true, "opacity":1}'>Hello Plunker!</h1> 


$(document).ready(function() { 
    var x = $('#title').attr('data-smth'); 
    console.log(x); 
    var y = jQuery.parseJSON(x); 
    console.log(y); 
}); 

http://plnkr.co/edit/O7u1p7WuB9PO7tLmYA9Y

一旦你的變量,你可以使用y.mute JSON對象= FALSE;然後使用.attr()將y保存回該屬性。