Only Bolivian Here
Only Bolivian Here

Reputation: 36733

Using jQuery to set values inside attributes of an Object element?

Here is the rundown of the problem:

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>*/

Assuming the value of textToCopy was "Welcome to The Matrix.", this would be the resulting 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>*/

Upvotes: 4

Views: 8316

Answers (1)

Ohgodwhy
Ohgodwhy

Reputation: 50777

You can access the parameters of an object by finding the param by name:

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

You can access the attributes of the embed within the object like this:

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

Upvotes: 6

Related Questions