javascript - 如何将 jQuery 对象的字符串值转换为实际的 jQuery 对象?

标签 javascript jquery

我的 JS 代码中现在有这个字符串:

newWords = '$(p span.word[style="--' + paraIndex + 'word-index:undefined"], p span.whitespace[style="--' + paraIndex + 'word-index:undefined"])';

我想将此字符串转换为 jQuery 对象,我可以用它来识别这些特定元素。

我还看到了 eval() 函数。这看起来像我想要的那样,但非常不安全/不安全。

有人知道一种安全的方法吗?

最佳答案

最简单的解决方案是删除 $() 并将剩余的字符串作为参数传递给 $():

var paraIndex = 0;
var newWords = '$(p span.word[style="--' + paraIndex
  + 'word-index:undefined"], p span.whitespace[style="--'
  + paraIndex + 'word-index:undefined"])';

var jQ = $(newWords.slice(2, -1));

console.log(jQ);
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

关于javascript - 如何将 jQuery 对象的字符串值转换为实际的 jQuery 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61112708/

相关文章:

javascript - 使用 JavaScript 编写 xml 的库

javascript - 是否可以即时覆盖 Twitter Bootstrap 弹出窗口的定位?

javascript - 对按钮施加限制

javascript - 切换两个类

jquery - Contact Form 7 验证触发事件

jquery - Bootstrap 3 的手机、平板电脑和台式机的 .hidden- 和 .visible- 在哪里?

javascript - 在 apply 的重新声明中调用 Function.prototype.apply (Javascript)

javascript - 根据分数计算并显示结果

javascript - 有没有人有插件或教程的链接,可以让我像这样的 jquery/ajax 图像 slider /轮播?

jquery验证动态添加所需的输入