replaceWith 函数显示奇怪的结果

replaceWith Function shows weird results

我正在使用 replacewith 函数,虽然它替换了我搜索的内容,但弥补了奇怪的 html(html 的内容之前是正确的): 这是片段

var url = 'ControllerName//ActionName//' + Id;
var img = "<img style='width: 45px; height: 46px;' data-imageName='" + imageName 
          + "' src='javascript:window.location.href ='" + url + "'/>";

替换代码:

Panel.find(".heading1").find('.heading2').find('div:first')
     .replaceWith(function(){
                return (img);
            });

到目前为止它工作正常,但是图像标签(我在上面构建的)的内容被改变如下:

<img style="width: 45px; height: 46px;" data-imagename="image.jpg" 
      src="javascript:window.location.href =" ControllerName="" 
      ActionName="" 72'="">

其中 72 是我上面传递的 Id。 它应该是这样的:

<img style="width: 45px; height: 46px;" data-imagename="image.jpg" 
        src="/ControllerName/ActionName?Id=72">

有什么想法吗?

我刚刚进行了以下更改并且有效:

var url = '/ControllerName/ActionName?Id=' + someId;
            var img = "<img style='width: 45px; height: 46px;' data-imageName='" + imageName + "' src='"  + url +  "'/>";

然后不是在函数中返回 img,而是简单地传递 image

Panel.find(".heading1").find('.heading2').find('div:first').replaceWith(img);