我正在使用jquery。如果我有一个看起来像这样的div:
<div class="container" title="Mark">
我跑:
find('div.container["title=Mark"]');
然后它的工作原理。这意味着,找到了元素。
但是,如果我有另一个看起来像这样的div:
<div class="container" title="Mark Person">
然后它不起作用。这意味着:找不到元素,jquery给出异常:
Error, Syntax Error: unrecognized expression.
似乎当“title”是一个没有空格或其他字符如斜线的字符串时,它就可以了。在其他情况下,jquery不理解该标记。 有没有办法避免在我的代码中改变它(这是很多变化)并使find-function与这些元素一起工作?
答案 0 :(得分:2)
你的"
标记在错误的位置。将它们放在值:
var mp = $(document).find('[title="Mark Person"]');
mp.css('font-weight', 'bold');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="container" title="Mark Person">should be bold</div>
<div class="container" title="Mark">should not be bold</div>