2012-04-27 119 views
4

這是問題的破敗:「歡迎來到黑客帝國」使用jQuery來設置一個Object元素的屬性值?

console.log($("#clippy")); //For testing purposes. The element is properly selected. 

//Next, I need to grab the text value I want to be copied into the clipboard... 
var textToCopy = $(".permalink input[name='link']").text(); 

//How can I paste the value inside textToCopy inside the appropriate areas: 
//Here's the exact HTML I need to manipulate, with the two params I need to modify. 
//Labeled: "<-----HERE!" 

/*<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" 
     width="110" 
     height="25" 
     id="clippy" > 
    <param name="movie" value="/flash/clippy.swf"/> 
    <param name="allowScriptAccess" value="always" /> 
    <param name="quality" value="high" /> 
    <param name="scale" value="noscale" /> 
    <param NAME="FlashVars" value="text=sergio is the best champ"> <-------HERE! 
    <param name="bgcolor" value="#fff"> 
    <embed src="../../Public/javascripts/clippy.swf" 
      width="110" 
      height="25" 
      name="clippy" 
      quality="high" 
      allowScriptAccess="always" 
      type="application/x-shockwave-flash" 
      pluginspage="http://www.macromedia.com/go/getflashplayer" 
      FlashVars="text=sergio is the best champ" <--------AND HERE! 
      bgcolor="#fff" 
    /> 
</object>*/ 

假設textToCopy的值,這將是生成的HTML:

/*<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" 
     width="110" 
     height="25" 
     id="clippy" > 
    <param name="movie" value="/flash/clippy.swf"/> 
    <param name="allowScriptAccess" value="always" /> 
    <param name="quality" value="high" /> 
    <param name="scale" value="noscale" /> 
    <param NAME="FlashVars" value="text=Welcome to The Matrix."> <-------HERE! 
    <param name="bgcolor" value="#fff"> 
    <embed src="../../Public/javascripts/clippy.swf" 
      width="110" 
      height="25" 
      name="clippy" 
      quality="high" 
      allowScriptAccess="always" 
      type="application/x-shockwave-flash" 
      pluginspage="http://www.macromedia.com/go/getflashplayer" 
      FlashVars="text=Welcome to The Matrix." <--------AND HERE! 
      bgcolor="#fff" 
    /> 
</object>*/ 
+2

'$( '#大眼夾')找到( 'PARAM [名稱= 「Flash變量」]')VAL(textToCopy);'和'$( '#大眼夾')找到(」。嵌入')。attr('FlashVars',textToCopy);' – Ohgodwhy 2012-04-27 21:04:03

+0

我發現這個:http://stackoverflow.com/questions/1081656/object-param-jquery。見答案3. – Steven 2012-04-27 21:05:33

+0

@Ohgodwhy你可以發佈這個答案嗎? – Steven 2012-04-27 21:10:08

回答

6

您可以訪問參數按名稱查找帕拉姆對象:

$('#clippy').find('param[name="FlashVars"]').val(textToCopy); 

您可以象個對象中訪問嵌入的屬性。是:

$('#clippy').find('embed').attr('FlashVars', textToCopy); 
+0

謝謝,現在可以根據需要正確設置HTML中的數據。然而,lib是在第一次渲染頁面時複製文本集,而不是通過這個jQuery代碼設置的文本。我需要以某種方式重新加載clippy庫,以便它複製我在加載頁面後動態添加的文本? – 2012-04-27 21:20:03

+0

你可以用你的問題創建一個jsFiddle嗎?你可以在那裏包含clippy的圖書館。然後,我可以給你一個更好的解釋,爲什麼你正在體驗你正在經歷的。我從來沒有用過clippy。 – Ohgodwhy 2012-04-27 21:30:16

+0

當然我會這樣做,並在這裏發表評論與鏈接。謝謝你的時間。 – 2012-04-27 21:31:39

相關問題