replaceWith函数显示了奇怪的结果

replaceWith Function shows weird results

本文关键字:结果 函数 显示 replaceWith      更新时间:2023-09-26

我使用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);