当属性名称具有哈希时,Jquery ID选择器
Jquery ID selector when attribute name has a hash
我遇到了一个问题,我们的内部框架有一个系统,如果你有一个表单&包含的元素他的名字以一个hash标签开始,它稍后处理这些元素时会做一些事情
例如:
<label width='auto' for='x_test' >Test:</label>
<input type="checkbox" name="#x_test#" id="x_test" value="1" />
现在使用Jquery,如果我想选择这个输入,例如隐藏它:
$( "#x_test" ).hide();
除非我从元素的名称中删除标签,否则这是不起作用的。但我正在按ID进行选择,我不知道为什么会出现这样的问题。
这是一个已知的问题吗;有什么我能做的吗?
我们在jquery-1.3.2 上
感谢
更新
感谢所有的提示,它帮了我一点忙,我确实从中学到了一些东西,但最终问题是其他人干扰了我的工作。
我们在每个步骤中都有一个向导,它将该页面的输入复制到该向导的隐藏动态表单中。
但他们也在复制id属性等,所以这不再尊重唯一id的规则。因为这个JQuery/JQueryUI和我所有的JavaScript都表现得非常奇怪。我最终重写了这个向导,这样我的JQuery等就可以工作了。
按属性选择:
$('[name="#x_test#"]').hide();
按id选择:
$('#x_test').hide();
或
$('[id="x_test"]').hide();
检查以下代码(使用jQuery 1.3.2)。
id选择应用绿色,而名称属性选择应用红色:
$('#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>
使用属性等于选择器:
$("[name='#x_test#']").hide();
如果#的使用不适用于您的框架,请尝试将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();
这对我来说很好。
<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>
尝试以下
$("input[name='#x_test#']").hide();
相关文章:
- Jquery id 无法正常工作
- Jquery #id ul li 一个选择
- 如何动态地给出 jquery ID
- Jquery id 选择器变量无法绑定到 onchange
- jQuery ID 选择器仅适用于第一个元素
- Javascript/jQuery ID 检查以通过验证驱动编号功能
- jquery id 选择器的问题
- 使用 for 循环访问 jQuery ID
- 如何使用 PHP 获取 jQuery ID 值
- jQuery id 选择器在
- jquery id匹配但获胜'根本不起作用
- jQuery ID选择器在I'I’我正盯着大自然看
- Looping through JQuery Id's
- jQuery ID & function
- 为什么jQuery ID不适用于ajax中的下拉列表
- 如何为一堆php生成的DIV设置jQuery ID
- 如何从会话PHP中获取jQuery ID
- 在哪里放置jquery id点击函数
- JQuery id目标与一个变量
- 我如何在函数中使jquery id选择等于这个