通过无上下文的JavaScript访问周围的HTML元素
我想要的是能够使用JavaScript处理围绕“入口点”的无上下文HTML元素,如标记或事件。我对我能做的事有严格的限制 总结 我有多个用户生成的HTML块,它们需要在加载时自行处理。 这些块的内容可以包含具有类似行为的类似块。 内容还需要复制一次,可能需要重新开始执行第2节中提到的脚本。 这些块由静态模板生成,最初不能包含唯一的标识数据,如ID或随机属性值。 这些块也可以通过AJAX生成,这是我无法控制的。他们需要照顾好自己的外表,而不依赖任何执行命令。 出身背景 这是一个论坛软件,其中某些BBCode标记,比如[tag]content[/tag]被替换为固定的HTML。我无法访问任何服务器端脚本,因此替换内容与上下文无关,即始终相同。 例如,[tag]{content}[/tag]会变成类似于:通过无上下文的JavaScript访问周围的HTML元素,javascript,dom,element,Javascript,Dom,Element,我想要的是能够使用JavaScript处理围绕“入口点”的无上下文HTML元素,如标记或事件。我对我能做的事有严格的限制 总结 我有多个用户生成的HTML块,它们需要在加载时自行处理。 这些块的内容可以包含具有类似行为的类似块。 内容还需要复制一次,可能需要重新开始执行第2节中提到的脚本。 这些块由静态模板生成,最初不能包含唯一的标识数据,如ID或随机属性值。 这些块也可以通过AJAX生成,这是我无法控制的。他们需要照顾好自己的外表,而不依赖任何执行命令。 出身背景 这是一个论坛软件,其中某些B
<span ...>
...
{content}
...
<!-- script entry point -->
</span>
脚本输出的内容包含在选项卡按钮本身中,这些按钮将链接到各自的内容
限制
我不能用身份证。所有内容都必须是模板的无上下文替换。
[tag]可以嵌套。
脚本需要复制部分内容,其中部分内容可以是类似的脚本,等等。这会弄乱已经在外部标记对上运行的脚本。我有一个自下而上的解决方案来解决这个问题,但它依赖于在任何深度启动脚本,而不必担心类似的环境。另一种说法
这些标签可以在任何时候使用AJAX动态加载到页面上的任何帖子中
模板中的任何位置都可以有脚本,以使问题更容易解决
我试过的
使用JS在加载时动态输出,搜索给定ID并使用其位置查找周围的元素。当我动态加载页面和嵌套标记时,它不起作用。
为周围的元素指定一个类,并找到其类型的最后一个元素。这不起作用,因为在页面加载后,我们可能会在页面中间进行更新。
我宁愿避免的解决方案
使用,我可以运行一个脚本并使用它访问周围的标记。但我不想用断开的链接和错误来解决一个简单而相关的问题。
[tabspace]
[tab]content 1[/tab]
[tab]
content 2, and
nested tabs:
[tabspace]...[/tabspace]
[/tab]
[/tabspace]