Javascript 使用.html isn';行不通

Javascript 使用.html isn';行不通,javascript,jquery,html,Javascript,Jquery,Html,我有这个html <div id="items-content"> <p><img class="fr-dib" src="http://i.imgur.com/bEDR9dc.png" data-imgslap="{{image-key}}" style="width: 214px;"></p> </div> 我还在学习JQuery,不知道哪里出了问题。谢谢你的帮助 更新 我计划使用相同的替换图像的方法,用src=替换像dataim

我有这个html

<div id="items-content">
<p><img class="fr-dib" src="http://i.imgur.com/bEDR9dc.png" data-imgslap="{{image-key}}" style="width: 214px;"></p>
</div>
我还在学习JQuery,不知道哪里出了问题。谢谢你的帮助

更新

我计划使用相同的替换图像的方法,用
src=
替换像
dataimgslap=
这样的东西。基本上,我如何将html文本“x”替换为“y”(它们将只被替换为html属性文本)。

更新DOM
img
tag的
src
您正在寻找jQuery来更新单个属性的值:

$(document).ready(function() {
  $('#items-content .fr-dib').attr('src', 'http://i.imgur.com/mJyABlG.jpg"');
} );
$(document).ready(function() {
  var $img = $('#items-content [data-imgslap]');
  var newSrc = $img.data('imgslap');
  
  $img.attr('src', 'http://i.imgur.com/' + newSrc + '.jpg"');
} );
jsfiddle:


使用数据属性中的值更新DOM
img
src
要使用另一个属性的值更新一个属性(在本例中,使用数据属性的值更新图像的
src
),请执行以下操作:

jsfiddle:


正则表达式替换字符串中的
img
src
根据您留下的注释,您的目标似乎是在字符串中创建一个值(而不是在DOM中更新
img
元素的src)

为此:

var str = '<div id="items-content"><p><img class="fr-dib" src="http://i.imgur.com/bEDR9dc.png" data-imgslap="mJyABlG" style="width: 214px;"></p></div>';
var newSrc = 'http://i.imgur.com/mJyABlG.png';
var newStr = str.replace(/<img(.*)src=[\"|\'](.*?)[\"|\'](.*)/, "<img$1src='" + newSrc + "'$3");
var str='

'; var newSrc=http://i.imgur.com/mJyABlG.png'; var newStr=str.replace(/ jsfiddle:

请注意,*不要
$(document).ready()
因为。上面的正则表达式应该处理:
img
src
两侧的单引号和双引号以及属性的任意组合 您正在寻找jQuery来更新单个属性的值:

$(document).ready(function() {
  $('#items-content .fr-dib').attr('src', 'http://i.imgur.com/mJyABlG.jpg"');
} );
$(document).ready(function() {
  var $img = $('#items-content [data-imgslap]');
  var newSrc = $img.data('imgslap');
  
  $img.attr('src', 'http://i.imgur.com/' + newSrc + '.jpg"');
} );
jsfiddle:


使用数据属性中的值更新DOM
img
src
要使用另一个属性的值更新一个属性(在本例中,使用数据属性的值更新图像的
src
),请执行以下操作:

jsfiddle:


正则表达式替换字符串中的
img
src
根据您留下的注释,您的目标似乎是在字符串中创建一个值(而不是在DOM中更新
img
元素的src)

为此:

var str = '<div id="items-content"><p><img class="fr-dib" src="http://i.imgur.com/bEDR9dc.png" data-imgslap="mJyABlG" style="width: 214px;"></p></div>';
var newSrc = 'http://i.imgur.com/mJyABlG.png';
var newStr = str.replace(/<img(.*)src=[\"|\'](.*?)[\"|\'](.*)/, "<img$1src='" + newSrc + "'$3");
var str='

'; var newSrc=http://i.imgur.com/mJyABlG.png'; var newStr=str.replace(/ jsfiddle:

请注意,*不要
$(document).ready()
因为。上面的正则表达式应该处理:
img
src
使用attr()解决此问题

$(document).ready(function() { $('#items-content .fr-dib').attr('src', 'http://i.imgur.com/mJyABlG.jpg"'); } );
或者使用正则表达式

your_string.replace(/(<img\s class\=\"fr-dib\"\ssrc=")(.*?)("\s?\/>)/, "$1http://i.imgur.com/mJyABlG.jpg $3");
您的_字符串。替换(/()/,“$1http://i.imgur.com/mJyABlG.jpg $3");
使用attr()解决此问题

$(document).ready(function() { $('#items-content .fr-dib').attr('src', 'http://i.imgur.com/mJyABlG.jpg"'); } );
或者使用正则表达式

your_string.replace(/(<img\s class\=\"fr-dib\"\ssrc=")(.*?)("\s?\/>)/, "$1http://i.imgur.com/mJyABlG.jpg $3");
您的_字符串。替换(/()/,“$1http://i.imgur.com/mJyABlG.jpg $3");

我没有使用太多的jQuery,但看起来您正在用
src=…
替换
的完整内容,这会导致类似
src=…
的内容。我建议您使用浏览器的调试功能,以便查看生成的HTML,这通常有助于我了解发生了什么。您可能想这样做使用jQuery的
.attr()
函数来更改
src
值。我没有使用太多的jQuery,但看起来您正在用
src=…
替换
的完整内容,这会导致类似
src=…
的内容。我建议您使用浏览器的调试功能,以便查看生成的HTML,这通常对我有帮助要查看发生了什么,您可能需要使用jQuery的
.attr()
函数更改
src
值。这看起来会将所有图像替换为一个图像。我只想将特定图像更改为具有特定值的属性。如何将具有特定值的属性更改为不同的属性和值?这看起来会将所有图像替换为一个图像。我只想该特定图像将被更改为具有特定值的属性。如何将具有特定值的属性更改为不同的属性和值?如何将具有特定值的属性更改为不同的属性和值?例如,src
'src','http://i.imgur.com/mJyABlG.jpg我认为ring replace可能是我想要的,html来自数据库,因此我可以更改这些字符串,因为它来自dbUse reg exp以更改内容我如何将具有特定值的属性更改为不同的属性和值?例如,src
'src','http://i.imgur.com/mJyABlG.jpg“
类”、“类名”
我认为字符串替换可能是我所寻找的,html来自db,因此我可能能够更改这些字符串,因为它来自dbUse reg exp来更改内容