所以这个想法就是这样。我在js文件中有一个数组,以及一个引用该数组中随机元素的函数。我希望能够单击按钮,并且跨度中的文本将更改为数组中的随机元素。 我已经有办法做到这一点。我有一个id为“change_equivalently”的跨度。然后在javascript文件中,我有
var Equivalentlys = [
"Equivalently, ",
"Alternatively, ",
"Another way of saying this is that "
];
$('#shuffle').click(function() {
var length = (Equivalentlys.length + 1);
var x = Math.floor(Math.random()*length);
function Equivalently(i){
return Equivalentlys[i];
};
$('#change_equivalently').text(Equivalently(x));
});
我的问题是,当我写出html代码时,我总是要编写
<span id = "change_equivalently"> ... </span>
为了能够在点击按钮时更改单词。
但我想要一个更简单的方法。 我试过像
这样的东西 <var> Equivalently( 1 ) </var>
看看我是否可以参考javascript函数,但它没有用。
我怎么能接近这个?
答案 0 :(得分:3)
首先,您目前使用的方法是更好而不是您想要的方法 - 它将表示与功能分开,被广泛认为是最佳实践。
但是,可以(但是,正如我所说,可能不应该)包含单击元素时要调用的代码:
<span onclick="doStuff()"> blarg </span>
如果您只是希望能够将JavaScript代码转换为HTML(如PHP或类似的模板系统),那么您将无法使用JavaScript。
最终,最好的方法是使用span来标记内容并在脚本中添加click事件,就像您现在正在做的那样。这是最好的语义:在html中,你所说的只是那个特定的单词/位置是可以改变的;您在代码中指定 的更改方式。
答案 1 :(得分:1)
你是说这个吗?
<script type="text/javascript">
Equivalently(1)
</script>