JS / JQuery Newb here!
我有一个存储在变量中的值,我需要将其插入与<parameter>
关联的特定<object>
元素中。这是我希望能做的一个例子:
<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。活泉!
答案 0 :(得分:5)
您需要使用普通的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);
}
答案 1 :(得分:1)
您需要更换适合您情况的变量和值:
$( 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' );
}
});
});