我遇到了一个问题,我们的内部框架有一个系统,如果你有一个表格&他的名字以哈希标记开头的包含元素,稍后处理这些元素时会做一些事情。
所以我有例如:
<label width='auto' for='x_test' >Test:</label>
<input type="checkbox" name="#x_test#" id="x_test" value="1" />
现在使用Jquery,如果我想选择此输入,例如隐藏它:
$( "#x_test" ).hide();
除非我从元素名称中删除主题标签,否则这不起作用。 但我正在通过ID进行选择我不知道为什么会出现这样的问题。
这是一个已知的问题&amp;有什么我可以做的吗?
我们正在使用jquery-1.3.2
由于
更新
感谢所有的提示,它对我有所帮助,我确实从他们那里学到了一些东西,但最终问题是来自其他人的现有代码不好干扰我想要做的事情。
我们在每个步骤中都有一个向导,它将该页面的输入复制到此向导的隐藏动态表单。
但他们也在复制id-attribute等,所以这不再尊重唯一id的规则了。因为这个JQuery / JQuery UI和我所有的JavaScript表现得非常奇怪。我最终重写了这个向导 - 所以我的JQuery等工作。
答案 0 :(得分:1)
按属性选择:
$('[name="#x_test#"]').hide();
按ID选择:
$('#x_test').hide();
或
$('[id="x_test"]').hide();
检查以下代码(使用jQuery 1.3.2)。
id选择应用绿色,而name属性选择应用红色colur:
$('#test').css({'color':'green'});
$('[name="#test"]').css({'color':'red'});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<div id="test">test id</div>
<div name="#test">name test</div>
答案 1 :(得分:1)
使用属性等于选择器:
$("[name='#x_test#']").hide();
答案 2 :(得分:0)
如果#的使用不适用于您的框架,请尝试将id名称附加到类并在jQuery中使用类选择器
即
<label width='auto' for='x_test' >Test:</label>
<input type="checkbox" name="#x_test#" id="x_test" class="x_test" value="1" />
然后使用
$( ".x_test" ).hide();
答案 3 :(得分:0)
这对我来说很好。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<label width='auto' for='x_test' >Test:</label>
<input type="checkbox" name="#x_test#" id="x_test" value="1" />
<script>
$(document).ready(function () {
$( "#x_test" ).hide();
});
</script>
答案 4 :(得分:0)