通过jQuery设置HTML <param>元素

Set HTML <param> element via jQuery?

本文关键字:param 元素 jQuery HTML 通过 设置      更新时间:2023-09-26

JS/JQuery Newb here!

我有一个值存储在变量中,我需要将其插入与<object>关联的特定<parameter>元素中。以下是我希望我能做的一个例子:

<script>
    function SetParam(incomingValue){
         $('#baz').value = incomingValue ;
    }
    $(document).ready (function() {
       // jquery POST happens here, which takes a second or two to complete
       // SUCCESS condition calls SetParam() with a value  
        });
</script>
<object class="foo">
    <param name="bar" value="xyzzy" />
   <param name="baz" value="" id="baz" />
</object>

没有快乐。baz 参数控制对象的视觉呈现方式,我没有看到任何更改来指示我已成功更改值。

我不确定是否:

A. 我的语法在解决 SetParam() 中的 "baz" 参数方面是错误的

B. 我的语法很好,但是当我点击 SetParam() 时对象已经渲染了,所以设置 baz 的值没有任何用

C. 以上所有内容

谁能把我踢到正确的方向?

(如果我的问题包括场景"B" - 有没有办法延迟该<object>的加载,直到我实际设置了我需要的<parameter>的值?

这是一个相同的"JSFiddle" - 刚刚找到关于这个和jsbin。呜呜!

http://jsfiddle.net/sPhrw/

你需要

使用普通的javascript或jQuery:

$('#baz').val(incomingValue);

$('#baz')[0].value = incomingValue;

document.getElementById('baz').value = incomingValue; 

function SetParam(incomingValue){
     var $foo = $('<object class="foo"></object>'),
         $bar = $('<param name="bar" value="xyzzy" />'),
         $baz = $('<param name="baz" value="'+ incomingValue +'" id="baz" />');
         $foo.append($bar).append($baz).appendTo(someParent);
}
您需要将

变量和值换成适用于您的情况的变量和值:

$( document ).ready( function () {
    var obj = $( '<object class="foo"></object>' );
    obj.append( '<param name="bar" value="xyzzy"></param>' );
    $.ajax({
        // other parameters
        success: function (response) {
            obj
                .append( '<param name="baz" value="' + response + '"></param>' )
                .appendTo( 'body' );
        }
    });
});