使用jQuery在大括号中获取无效的HTML代码

Get invalid HTML code in curly brackets with jQuery

本文关键字:无效 获取 HTML 代码 jQuery 使用      更新时间:2023-09-26

我有一些(无效的)HTML代码我不能改变:

<a href="#" id="text1"{some-data}>...</a>
<a href="#" id="text2"{some-other-data}>...</a>
使用jQuery,我选择两个锚中的一个:
function someFunction(id) {
  $('text'+id)...;
}

现在,我想把文本放到花括号里。因此,对于id=1,这意味着some-data,对于id=2,这将是some-other-data

我该怎么做?

简单点说:一个元素中只能有一个带花括号的元素

所以,基本上你想要得到'外部' html,然后搜索大括号之间的内容。

第一部分已经在这里解决了

获取选定元素's外部HTML

使用问题中的outerHTML插件

jQuery.fn.outerHTML = function(s) {
    return s
        ? this.before(s).remove()
        : jQuery("<div>").append(this.eq(0).clone()).html();
};
function someFunction(id) {
  return $('#text'+id).outerHTML().match(/{(.*)}/)[1];
}