如果找到“X 特定字符串”,我需要能够隐藏下拉框。关于如何做到这一点的任何想法我将不胜感激。我搜索了隐藏文本框/下拉列表,但找不到通过搜索整个页面使其工作的方法。谢谢
我没有选择任何搜索和隐藏,因为它不起作用。http://stackoverflow.com/questions/6848797/show-hide-drop-down 我已经看到了这个选项。
如果找到“X 特定字符串”,我需要能够隐藏下拉框。关于如何做到这一点的任何想法我将不胜感激。我搜索了隐藏文本框/下拉列表,但找不到通过搜索整个页面使其工作的方法。谢谢
我没有选择任何搜索和隐藏,因为它不起作用。http://stackoverflow.com/questions/6848797/show-hide-drop-down 我已经看到了这个选项。
要从 JavaScript 操作元素,您需要以某种方式获取对它的引用,这可以通过多种方式完成 - 没有任何上下文可以继续我建议您最好的选择是确保您的 select 元素具有id
属性:
<select id="myDropDown" name="whatever">
<option>One</option>
<option>Two</option>
</select>
...然后使用document.getElementById()
. 然后要隐藏它,您可以更新适当的样式属性:
document.getElementById("myDropDown").style.display = "none";
// OR
document.getElementById("myDropDown").style.visibility = "hidden";
Usingdisplay:none
导致浏览器呈现文档,就好像该元素不存在一样,即它不会为它留下空间。使用visibility:hidden
会使它不可见,但页面上会有一个空白区域。
有不止一种方法可以测试页面上的特定字符串,但一种方法是通过 body 元素的innerHTML
或textContent
(或在 IE 中innerText
)属性获取所有内容,然后使用.indexOf()
:
var searchString = "some string",
pageContent = document.body.innerHTML;
if (pageContent.indexOf(searchString) != -1) {
document.getElementById("myDropDown").style.display = "none";
}
放置代码的位置取决于您何时要进行测试。onload
如果您想在没有用户输入的情况下执行此操作,则可以将其放入处理程序中,否则将其放入单击处理程序或适当的东西中。
演示:http: //jsfiddle.net/n8uA9/