gpt4 book ai didi

jquery - 如何使用 javascript 将哈希标签替换为 jquery 数据属性中的链接

转载 作者:行者123 更新时间:2023-12-03 22:37:09 24 4
gpt4 key购买 nike

我实际上正在尝试做与这个问题相同的事情 Change #hash tag to link on page load但我认为因为我从 jquery 对象的 data-caption 属性获取字符串,所以某些东西无法正常工作。我有一个像这样的 DOM 元素

<a class="thumbnail" rel="gallery" data-caption="#drink from somewhere #fun" data-pid="36" href="http://domain.com/something"><img src="http://domain.com/somephoto.png" alt="acee7bd0d8339b9ddcf4a259ec7ddeec"></a>

它基本上是加载到模态中的缩略图,然后我尝试获取属性标题并从任何哈希标签创建链接

 var caption = anchor.attr('data-caption') ? anchor.attr('data-caption') : null;
console.log(caption);

其中变量 anchor 是代表链接的 jquery 对象

如果我检查日志,我可以看到有一个标题,它打印“#drink from Something #fun”

现在将其放入正则表达式中替换 fn

caption.replace(/#(\S*)/g,'<a href="http://twitter.com/#!/search/$1">$1</a>');

然后将标题附加到具有事件链接的 DOM。

但是标题字符串没有任何反应,我只是得到了与输入相同的内容。

**编辑答案愚蠢的错误忘记将返回值分配给变量

var captionLinks = caption.replace(/#(\S*)/g,'<a href="http://twitter.com/#!/search/$1">$1</a>');

最佳答案

如果您问题中的代码与您使用的代码完全相同,则需要分配 caption.replace() 的结果。仅调用 .replace() 不会更改 caption

假设您所做的就是这样:

caption.replace(/#(\S*)/g,'<a href="http://twitter.com/#!/search/$1">$1</a>');

尝试像这样使用它:

caption = caption.replace(/#(\S*)/g,'<a href="http://twitter.com/#!/search/$1">$1</a>');

根据 documentation对于替换:

Returns a new string with some or all matches of a pattern replaced by a replacement. The pattern can be a string or a RegExp, and the replacement can be a string or a function to be called for each match.

当然,如果您已经这样做了,但您只是没有发布该内容,那么问题就出在其他问题上。

如果是这种情况,请告诉我,我将删除我的答案,因为它显然不适用。

关于jquery - 如何使用 javascript 将哈希标签替换为 jquery 数据属性中的链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13655333/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com