0

感谢阅读和帮助。我正在尝试使用在特定 div 中绘制 Dial 但不起作用的函数。我知道这适用于文本:

<div id="content">
</div>

<script>
document.getElementById('content').innerHTML = "hi";
</script>

但是如果我想在那里写一些函数呢?我怎样才能做到这一点?想象一下我有这个:

<div id="content">
</div>

<script>
document.getElementById('content').innerHTML = somefunction();

function somefunction(){
document.write("hi");
}
</script>

我知道如果我使用 return 它可以工作,但我想知道是否有办法在没有 return 的情况下做到这一点。

太感谢了!

编辑:

我将更具体。想象一下我有这个:

<div id="content">
</div>

<script>    
function createDial(){
document.write("<input class='knob' data-min='-15000' data-max='15000' value='-11000'>)
}
</script>

该输入创建一个 Dial(如果您不知道我指的是,请参阅http://anthonyterrien.com/knob/ )。现在,有了这个,我可以在“内容”中绘制拨号吗?

谢谢大家,我很抱歉我的英语!

4

3 回答 3

2

返回字符串somefunction而不是document.write

function somefunction(){
  return "hi";
}

您可以将元素名称传递给函数并将 html 分配给那里的元素。

function somefunction(elementId){
   document.getElementById(elementId).innerHTML = "hi";
}
于 2013-02-08T11:25:15.983 回答
1

如果你真的需要在不返回值的情况下完成这项工作,你可以这样做:

function somefunction (elm) {
    elm.innerHTML = '<input class="knob" data-min="-15000" data-max="15000" value="-11000">';
    $(".knob").knob();
}
somefunction(document.getElementById('content'));
于 2013-02-08T11:30:53.957 回答
0

我所需要的就是这个(我认为 Yoshi 也提到了这个):

$( "#content" ).append("whatever you want, even an input or something else");

这就是我之前用 jQuery 标记的原因。

于 2013-02-11T10:17:22.410 回答