Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Hot可根据值将不同的img插入div_Javascript_Jquery_Html_Image - Fatal编程技术网

Javascript Hot可根据值将不同的img插入div

Javascript Hot可根据值将不同的img插入div,javascript,jquery,html,image,Javascript,Jquery,Html,Image,我试图将img插入div,但它应该是不同的img,具体取决于动态填充的div值 因此,如果值是test insert image test.jpg,如果值是blabla insert image blabla.jpg等等(我得到了大约25个div值) 我让它只为第一个工作,现在,它只是填充一个img无处不在,如果我使用 var divText = $('div').first().text(); 我的名字vars和img的名字jpg完全一样 可能需要以某种方式循环它,一些帮助将不胜感激 到目前

我试图将img插入div,但它应该是不同的img,具体取决于动态填充的div值

因此,如果值是test insert image test.jpg,如果值是blabla insert image blabla.jpg等等(我得到了大约25个div值)

我让它只为第一个工作,现在,它只是填充一个img无处不在,如果我使用

var divText = $('div').first().text();
我的名字vars和img的名字jpg完全一样

可能需要以某种方式循环它,一些帮助将不胜感激

到目前为止,我的代码是

HTML

测试
布拉布拉
达斯达
khjkhjk
jQuery

var name = 'test';
var name1 = "blabla";
var imgPath = "folder/images/";
var divText = $('div').text();
   if (divText === name) {
   $('div').prepend('<img src="' + imgPath + 'test' + '.jpg"/>');
   }
   if (divText === name1) {
   $('div').prepend('<img src="' + imgPath + 'blabla' + '.jpg"/>');
   }
var name='test';
var name1=“blabla”;
var imgPath=“folder/images/”;
var divText=$('div').text();
if(divText==名称){
$('div')。前缀(“”);
}
如果(divText==name1){
$('div')。前缀(“”);
}

这里是我的小提琴-

最简单的方法是使用jquery的each

$('div').each(function(){
  var $div = $(this);
  $div.prepend(<img src="' + imgPath + $div.text() + '.jpg"/>');
});
$('div')。每个(函数(){
var$div=$(本);
$div.prepend(');
});

调用
$('div').each()
时,jquery首先选择文档中的每个div。然后它在div上循环并调用您指定的回调。“this”绑定到循环中的当前div,因此当我们调用$(this)时,我们使用jquery“包装”该div,这允许我们使用.text和.prepend之类的函数

尝试为此使用
每个
循环

$.each($('div'), function() {
    var img_name = $(this).text();
    $(this).prepend('<img src="' + imgPath + img_name + '.jpg"/>');
});
$。每个($('div'),函数(){
var img_name=$(this).text();
$(this.prepend(“”);
});

我在中做了一些假设(将
foo
类添加到div中,等等)

我相信你所需要的就是:

var imgPath = "folder/images/";

$('div.foo').each(function(index, element){
   var divText = $(element).text();
    $('div').prepend('<img src="' + imgPath + divText + '.jpg"/>');
});
var imgPath=“folder/images/”;
$('div.foo')。每个(函数(索引,元素){
var divText=$(元素).text();
$('div')。前缀(“”);
});

您可以通过添加一个类,以另一种方式识别div,例如:

<div class="dynamic-image">test</div>
<div class="dynamic-image">blabla</div>

对于循环部分,您可以这样做。请注意,您希望使用innerHTML而不是文本。另外,请记住,$('div')返回一个div数组(我将其设置为变量div)

var divs=$('div');
对于(变量i=0;i
<div class="dynamic-image">test</div>
<div class="dynamic-image">blabla</div>
var path = 'path/to/images';

$('.dynamic-image').each(function(i, e) {
    var $e = $(e),
        img = new Image();

    img.src = path + '/' + $e.text() + '.jpg';
    $e.prepend(img);
});
var divs = $('div');

for (var i = 0; i < divs.length; i++) {
    alert(divs[i] + "   " + divs[i].innerHTML);
}