JavaScript,更改页面内容
javascript, changing page content
我正在尝试做一个使用javascript更改页面内容的示例。假设我有一个页面为:
<html>
<head>
</head>
<body>
<select id="a96780" multiple="multiple" name="a96780" size="3" value="deneme">
<option selected="selected" value="#ANY">ALL</option>
<option value="1111294">Ex1</option>
<option value="1111292">Ex2</option>
<option value="1111290">Ex3</option>
</select>
</body>
</html>
我希望能够在页面加载时关闭所有选项,Ex1、Ex2、Ex3(将其类型设置为隐藏或通过其他方式)。为了实现这一目标,我按照在线说明进行操作,但是通过执行以下操作未能做到这一点:
<script type="text/javascript">
function myFunction()
{
var selectBox = document.getElementById("a96780");
alert("smt");
alert(selectBox.name);
}
myFunction();
</script>
在上面的脚本中,我正在尝试打印出元素的名称,以确认我确实掌握了它。但是,最后一行永远不会打印。我如何确认我已将元素初始化为 selectBox,以及我应该如何从那里继续。选项值是否足以引用项目:"Ex1、Ex2 和 Ex3"?
编辑 1 :我绝对没有指向 html 的链接,我无法修改 body 标签,也无法放置任何可以启动 myFunction 的按钮,因此无论我做什么,我都必须只通过 js 来完成。除此之外,如果您能引导我如何进行,那也很棒。例如,我可以从选项项的值中引用它们吗?
我的解决方案是:
<html>
<head>
<script type="text/javascript">
function initialTypeCorrection()
{
var selectBox = document.getElementById("a96780");
if(selectBox != null)
{
var options = selectBox.getElementsByTagName("option");
for (var i = 0; i < options.length; i ++)
{
// Alternative 1
if(options[i].value=="1111294" || options[i].value=="1111292" || options[i].value=="1111290")
{
options[i].disabled = "true";
options[i].text = "";
}
}
}
}
window.onload = initialTypeCorrection;
</script>
</head>
<body>
<select id="a96780" multiple="multiple" name="a96780" size="4">
<option selected="selected" value="#ANY">all</option>
<option value="1111294">a1</option>
<option value="1111292">a2</option>
<option value="1111290">a3</option>
</select>
</body>
</html>
你可能想试试
<body onload="myFunction()">
而不是在脚本标签中调用它,因为 body 标签中的内容在 JavaScript 时没有初始化。
你需要等到 DOM 完全加载。这意味着 HTML 已被浏览器理解和组织。如果你在那之前执行javascript,这些元素将不存在,因此不会作或打印。
等待 DOM 加载的一种方法是将函数调用放入 body 标签onload
...
<body onload="myFunction();">
这是一个工作示例:(您的代码)
http://jsfiddle.net/44fQX/
任何问题都问:)
重新定义您问题的这一部分:"我希望能够在页面加载时关闭所有选项,Ex1、Ex2、Ex3(将其类型设置为隐藏或通过其他方式)"
函数关闭所有选项() { var slc = document.getElementById("a96780"), i, opt; for (i=0; opt=slc[i]; i++) { if (opt.value!="#ANY") { 选择禁用=真; 更新 opt.style.display="none"; } } }函数关系所有选项() { var slc = document.getElementById("a96780"), i, opt; for (i=0; opt=slc[i]; i++) { opt.disabled=false; 更新 opt.style.display="; } }
测试:http://jsfiddle.net/44fQX/1/
更新http://jsfiddle.net/44fQX/3/
- 为什么不't Javascript对我的输入值进行了一些重新检查
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 将函数的上下文应用于javascript变量
- 使用php或javascript从facebook相册URL中删除多余的部分
- 正在添加'X'按钮,在文本字段旁边使用javascript
- 如何在JavaScript中将字符串转换为函数引用
- 模糊事件的Javascript测试
- Javascript更改图标
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- 如何使用WCF服务和javascript表单post上传.doc文件
- javascript结合了数组和字典
- 这是什么 ==- javascript 运算符
- 从javascript创建一个列表
- 无法在通过jQuery的ajax加载的页面中执行javascript
- Javascript:selenium Web驱动程序isDisplayed()不工作
- 如何通过ajax刷新JSF填充的javascript变量
- 如何在Javascript中将JSon对象转换为数组
- Javascript生成的表单未提交
- 使用javascript将动态表从一个html页面打印到另一个html页
- 通过javascript重定向html传递php变量