如何禁止字符串的特殊字符将其用作jQuery选择器?

时间:2012-10-30 11:00:57

标签: jquery

考虑以下示例:

<input type="text" id="#ab>cd.ef" value="foo" />

<script type="text/javascript">
  var id = '#ab>cd.ef';
  alert($('#' + id).length);
</script>

这导致语法错误,所以我正在寻找一些东西来抑制选择器的特殊字符。

当然,对于这个例子,我可以这样做:

alert($('input').length);

但我将使用此原则来使用动态选择器,如:

return $('input[name="' + $(elem).attr('name') + '"]:checked').val();

即使我的“name”属性包含特殊字符。

所以这是我的问题:如何禁止字符串的特殊字符将其用作jQuery选择器?

1 个答案:

答案 0 :(得分:2)

你可以在单引号中检查这个封闭的id并检入属性选择器

var id = '#ab>cd.ef';
alert($("[id='"+id+"']").length);