Javascript 如何使用jQuery替换嵌入flashvars属性的一部分

Javascript 如何使用jQuery替换嵌入flashvars属性的一部分,javascript,jquery,embed,Javascript,Jquery,Embed,这是我的建议: <embed style="border:5px solid black" width="100" height="180" align="middle" flashvars="datapath=http://www.foobar.org/gadgets&amp;curr=$&amp;menucolor=0xef2e24&amp;menutitle=foobar&amp;supid=0&amp;eid=1107183&amp;

这是我的建议:

<embed style="border:5px solid black" width="100" height="180" align="middle" flashvars="datapath=http://www.foobar.org/gadgets&amp;curr=$&amp;menucolor=0xef2e24&amp;menutitle=foobar&amp;supid=0&amp;eid=1107183&amp;tid=6420765" allowscriptaccess="sameDomain" wmode="transparent" quality="high" src="https://www.foobar.org/atf/cf/%7B26ab1627-1b72-418e-a4bd-96e83ca127ed%7D/foobar.SWF" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" name="flashthermometer">
但这似乎不起作用

感谢您的帮助

谢谢。

试试这个:

$(document).ready(function () {
    var new_eid = 1134229; 
    var $em = $('embed');
    var data = $em.attr('flashvars'); // gets the string
    var arr = data.split('&');        // turns string into array
    var eid = arr[5].split('=');      // gets the eid string and turns it key/value
    eid[1] = new_eid;                 // sets the new value
    eid = eid.join("=");              // rebuilds the new eid string
    arr[5] = eid;                     // sets the new eid into query array
    data = arr.join("&");             // turns query back to string
    $em.attr('flashvars', data);      // sets the embed with new string
});
或使用
regex

    var new_eid = 1134229;
    var $em = $('embed');
    var data = $em.attr('flashvars');
    var edited = data.replace(/(eid=)[^\&]+/, '$1' + new_eid);
    $em.attr('flashvars', edited );
我创建了一个,其中的输入(仅接受数字)可更改嵌入属性值:

$('embed').attr('flashvars',
    $('embed').attr('flashvars').replace(/(?:(eid\=))([0-9]+)/, "$1"+newValue)
);

希望这会有帮助

太棒了。我很高兴能帮上忙。:)
$('embed').attr('flashvars',
    $('embed').attr('flashvars').replace(/(?:(eid\=))([0-9]+)/, "$1"+newValue)
);