当属性名称具有哈希时,Jquery ID选择器

时间:2015-07-02 07:59:57

标签: javascript jquery

我遇到了一个问题,我们的内部框架有一个系统,如果你有一个表格&他的名字以哈希标记开头的包含元素,稍后处理这些元素时会做一些事情。

所以我有例如:

<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等工作。

5 个答案:

答案 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)

试试以下 $(&#34;输入[名称=&#39;##x_test&#39;]&#34)。隐藏();