我需要帮助来理解为什么这些事情表现得很奇怪:
alert($('div.entry').text()); returns some long text
alert(Thesaurus.options.containers); returns string div.entry
alert($(Thesaurus.options.containers).text()); breaks with Uncaught RangeError: Maximum call stack size exceededHTML在几个div.entry元素中有不到500个单词。
Thesaurus.options.containers看起来如下所示:
jQuery.Thesaurus({
caseSentitive: false,
zetind: 'auto',
delay: 250,
containers: ['div.entry'],
effect: 'slide',
...发布于 2014-02-05 19:18:15
所以,基本上,您是这样做的:$(['div.entry]).text();,我猜是因为您传递了一个数组,您称之为:http://api.jquery.com/jQuery/#jQuery-elementArray,它的意思是接受一个元素数组,而不是一个选择器数组。你可以看到这里的爆炸:http://jsfiddle.net/dE9Yb/。
相反,你可以这样做:
alert($(Thesaurus.options.containers.join(",")).text());因此,传入一个字符串,它是一个由逗号连接的选择器。
请参阅:http://jsfiddle.net/dE9Yb/1/
https://stackoverflow.com/questions/21586200
复制相似问题