无法在jquery [duplicate]中用replaceWith替换文本

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法在jquery [duplicate]中用replaceWith替换文本相关的知识,希望对你有一定的参考价值。

我有喜欢的脚本,该脚本将数据添加到SQL并替换html标签,一切正常。所以我添加了一个文本,例如添加收藏夹replaceWith 删除收藏夹,但这是我获得输出的方式

enter image description here

如图所示,它不是在替换文本,而是在添加文本,我该如何解决]]

         jQuery(document).ready(function ($) 
            $('.button').on('click', function (e) 
                e.preventDefault();
                var user_id = $(this).attr('user_id'); // Get the parameter user_id from the button
                var director_id = $(this).attr('director_id'); // Get the parameter director_id from the button
                var method = $(this).attr('method');  // Get the parameter method from the button
                if (method === "Like") 
                    $(this).attr('method', 'Unlike'); // Change the div method attribute to Unlike
                    $('#' + director_id).replaceWith('<i class="mi mi_sml text-danger" id="' + director_id + '"> favorite</i>Remove Favorite'); // Replace the image with the liked button
                 else 
                    $(this).attr('method', 'Like');
                    $('#' + director_id).replaceWith('<i class="mi mi_sml" id="' + director_id + '">favorite_border</i>Add Favorite');
                
                $.ajax(
                    url: 'favs.php', // Call favs.php to update the database
                    type: 'GET',
                    data: user_id: user_id, director_id: director_id, method: method,
                    cache: false,
                    success: function (data) 
                    
                );
            );
        );

PHP

     function checkFavorite($mbid, $pid, $conn) 
        $stmt = $conn->prepare("SELECT * FROM favorite WHERE memberID=:mid AND id=:id");
        $stmt->execute(array(':mid' => $mbid, ':id' => $pid));
        $count = $stmt->rowCount();

        if ($count == 0) 
            echo "<div class = 'button' method='Like'  user_id=" . $mbid . " director_id=" . $pid . "><i class='mi' id=" . $pid . ">favorite_border</i>Add Favorite</div>";
         else 
            echo "<div class = 'button' method='Unlike'  user_id=" . $mbid . " director_id=" . $pid . "><i class='mi mi_sml text-danger' id=" . $pid . ">favorite</i>Remove Favorite</div>";
        
    

我有喜欢的脚本,可以将数据添加到SQL并替换HTML标记,一切正常。所以我添加了诸如添加收藏夹和replaceWith删除收藏夹之类的文本,但这是我如何获得如图所示的输出...

答案

您的代码因you cannot have underscores in HTML attribute names而无法使用。

以上是关于无法在jquery [duplicate]中用replaceWith替换文本的主要内容,如果未能解决你的问题,请参考以下文章

python中用正则表达式re去除空格但不去除换行符?

无法输入下一个输入字段 - jQuery

在 jQuery 中用 Javascript 定义函数

在Java中用0替换Nan值[重复]

jquery 中用jsp 读取 modelmap

如何在Bootstrap项目中用Vue.js替代jQuery