【问题标题】:Using Jquery to replace text inside a div [duplicate]使用 Jquery 替换 div 内的文本 [重复]
【发布时间】:2013-08-03 04:04:21
【问题描述】:

我有一些看起来像的东西

<div id="ABCLinks"> : <span dir="ltr"><a href="www.google.com" title="GOOGLE">Google</a></span>

我试图只用“网站:”替换文本“:”而不在其周围添加任何源标签()。

这是我试过的,没有效果:

<script type="text/javascript">
    $(document).ready(function() {
​        $("#ABCLinks").text(function () {
            return $(this).text().replace(":", "Websites:"); 
        });​​​​​
    }); 
</script>

我得到这个 html 输出(我正在使用 php 皮肤自动嵌入我的 jquery 脚本,它适用于其他 jquery 脚本)

<script type="text/javascript">$(document).ready(function() {
&#8203;$("#ABCLinks").text(function () {
return $(this).text().replace(":", "Websites:"); });&#8203;&#8203;&#8203;&#8203;&#8203;
    }); 
</script>

【问题讨论】:

    标签: jquery html


    【解决方案1】:
    $(document).ready(function() {
        $("#ABCLinks").text(function () {
            return $(this).text().replace(":", "Websites:"); 
        });
    }); 
    

    你给你的 div 一个 ID,但试图在 jQuery 中按类调用它。类使用像“.ABCLinks”这样的句点来引用,而ID使用像“#ABClinks”这样的标签来引用

    这是一个小提琴:http://jsfiddle.net/ERe9z/

    【讨论】:

    • +1 ..您可以只使用传入的 txt 作为第二个参数。为什么要在里面包裹一个jQuery对象text(function (_, txt) { return txt.replace(":", "Websites:"); });
    • 谢谢 AnthonyMasi,当我访问 jsfiddle.net 时,您的解决方案有效,但我在 php 皮肤中实现此代码,该皮肤会自动将脚本放入我的 html 文件中。我以前在这个皮肤上使用过 jquery,我没有遇到任何问题。但由于某种原因,我的 html 源代码被搞砸了,它无法完成替换。我更新了我的帖子,这样你就可以看到我得到的奇怪的输出源......
    • #8203;是unicode“零宽度空间”字符..它会影响你的脚本吗? fileformat.info/info/unicode/char/200b/index.htm
    • 是的,它正在影响我的脚本,它不会实现我想要的替换
    • 这里是小提琴:jsfiddle.net/ERe9z
    【解决方案2】:

    两个问题,

    1. 您的选择器不正确

      ​$("#ABCLinks") 用于引用 ID 字段。

    2. HTML 函数会好很多

    http://api.jquery.com/html/#html-htmlString

    .html( htmlString )

    html字符串

    类型:htmlString

    要设置为每个匹配元素的内容的 HTML 字符串。

    <script type="text/javascript"> $(document).ready(function() { ​$("#ABCLinks").html("Websites:"); });​​​​​ </script>

    编辑。以及适合您特定情况的小提琴:http://jsfiddle.net/ERe9z/7/

    【讨论】:

    • 这有点用。除了它删除:Google
    • 我要给你一个吻!太感谢了!完美运行!!!!网站和“:”之间的那个空间让我有点强迫症,但我想我可以忍受它;)
    • 没问题!不要忘记将此解决方案标记为已回答您的问题!您也可以通过从 HTML 开头删除该空间来摆脱该空间 - &lt;div id="ABCLinks"&gt;:&amp;nbsp;&lt;span dir="ltr"&gt;&lt;a href="www.google.com" title="GOOGLE"&gt;Google&lt;/a&gt;&lt;/span&gt;
    • 哦,是的,对不起,我太兴奋了,忘记将其标记为解决方案;)不幸的是,我无法触摸 html 源来编辑它,因为它是从其他东西生成的。这就是为什么我使用皮肤嵌入这些 jquery 脚本来编辑所有我不喜欢的随机文本!但我会忍受它!再次感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多