1

考虑以下示例:

<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();

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

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

4

1 回答 1

2

你可以试试这个,用单引号括起来 id 并签入属性选择器

var id = '#ab>cd.ef';
alert($("[id='"+id+"']").length);
于 2012-10-30T11:06:53.093 回答