replaceWith函数显示奇怪的结果

时间:2015-10-16 00:05:00

标签: javascript jquery replacewith

我正在使用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">

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

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

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

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

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