无法在jquery [duplicate]中用replaceWith替换文本
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法在jquery [duplicate]中用replaceWith替换文本相关的知识,希望对你有一定的参考价值。
我有喜欢的脚本,该脚本将数据添加到SQL
并替换html标签,一切正常。所以我添加了一个文本,例如添加收藏夹和replaceWith
删除收藏夹,但这是我获得输出的方式
如图所示,它不是在替换文本,而是在添加文本,我该如何解决]]
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替换文本的主要内容,如果未能解决你的问题,请参考以下文章