【发布时间】:2015-12-21 14:24:50
【问题描述】:
我有兴趣获取一个 jQuery 选择器字符串(您放入 $() 的内容)并从中生成一个包含字符串中指定的所有元素的 JSON 对象。 我对从 DOM 中进行选择不感兴趣。
这种事情必须在 jQuery 的幕后发生,有没有我可以使用的公共函数来实现这一点?是否有任何提供此功能的开源库?
给定以下输入字符串:
input[class=wood][name=cedar]input[class='wood'][name='cedar']input[class="wood"][name="cedar"]
我想返回以下输出:
{
[
elementType: 'input',
attributes: [
class: 'wood',
name: 'cedar'
]
]
}
并给出以下字符串:
input, divinput,div
我想要:
{
[
elementType: 'input'
],
[
elementType: 'div'
]
}
如果我必须自己编写它,这是一个相当复杂的正则表达式,我宁愿不必重新发明轮子:)
【问题讨论】:
-
您始终可以创建内存中的 HTML 元素。该元素 是 具有属性和值的 HTMLElement 对象。比你可以说的
this.food = "soup"等,但你必须建立你自己。 -
但我希望您意识到
type > wood和food > soup都是无效 元素属性。 -
这就是为什么我指定我没有从 DOM 中选择。出于示例的目的,这无关紧要。如果你喜欢@RokoC.Buljan,我可以在属性前面加上
data-。 -
我想你可能在问一个 XY 问题。你到底在做什么?如果您解释一下您要做什么,我在问原因 - 可能有一个比您最初认为最好的解决方案更好的解决方案。
-
@RokoC.Buljan 这不是一个 XY 问题。我想使用现有的 jQuery 选择器语法创建全新的东西。
标签: javascript jquery json regex object