Javascript 如何让孩子';使用DOM的ID $(document).ready(函数myFunct(){ var platforms=“${platforms}”; var platformList=platforms.split(“,”); var btn=新数组(platformList.length); var image_id=新数组(platformList.length); var img=新数组(platformList.length); 对于按钮点击功能中的(i=0;i
),您可以使用:Javascript 如何让孩子';使用DOM的ID $(document).ready(函数myFunct(){ var platforms=“${platforms}”; var platformList=platforms.split(“,”); var btn=新数组(platformList.length); var image_id=新数组(platformList.length); var img=新数组(platformList.length); 对于按钮点击功能中的(i=0;i,javascript,jquery,html,Javascript,Jquery,Html,),您可以使用: $( document ).ready(function myFunct() { var platforms = "${platforms}"; var platformList = platforms.split(","); var btn = new Array(platformList.length); var image_id = new Array(platformList.length); var img = new Arr
$( document ).ready(function myFunct() {
var platforms = "${platforms}";
var platformList = platforms.split(",");
var btn = new Array(platformList.length);
var image_id = new Array(platformList.length);
var img = new Array(platformList.length);
for(i=0;i<platformList.length;i++)
{
image_id[i]=100*i-1 + "";
console.log(image_id);
btn[i]=document.createElement("button");
img[i]=document.createElement("image");
btn[i].appendChild(img[i]);
btn[i].appendChild(document.createTextNode(platformList[i]));
document.body.appendChild(btn[i]);
// document.body.appendChild(img[i]);
btn[i].setAttribute("id",i+"");
img[i].setAttribute("src","");
img[i].setAttribute("id",image_id);
console.log("button id is: "+i+" and image id is :"+image_id[i]);
console.log("hiding");
$("#"+i).hide();
}
var testId = "${testId}";
console.log("hey");
var is_loaded = false;
var delay = 1;
function fetchFunct(){
console.log("entered function");
$.ajax
({
type: "GET",
url: "/content/mosaic/multi/preview/status/"+testId ,
async: true,
dataType : "json",
success : function(response)
{
console.log(response);
console.log(response.images);
if(response.status === false)
{
//something
}
else
{
for(i=0;i<platformList.length;i++)
{
$("#"+i).show();
console.log("image id is : "+image_id[i]);
console.log(platformList[i]);
console.log("Loading :"+i);
$("#"+i).click(function(){
console.log(this.id);
console.log("the first child is :"+this.NEED_CHILD'S_ID);
alert("you clicked the "+platformList[this.id]+" button");
$("#"+NEED_CHILD'S_ID).attr("src","http://" + response.images.platformList[this.id]);
})
}
}
}
见:
我已经创建了一个JS提琴供您使用。您应该将示例简化为JSFIDLE,以便人们可以帮助您:$(this.find(“img[this.id]”)attr(“src”,“http://“+response.images.platformList[this.id]);在执行此操作时,我仍然会遇到错误:未捕获错误:语法错误,无法识别的表达式:img[this.id]images.platformList[this.id]有问题。另外,用一些硬编码的图像名称(如android22)替换platformList[]时,我没有收到任何错误,但没有加载图像。您的响应是什么样子的,您在控制台中收到的错误消息是什么?请参阅我的JSFIDLE(我已编辑我的答案)。是否您的响应。图像未定义?可能“http://”已包含在您的响应URL中?进行了一些更改。没有更多错误。唯一的问题是,虽然我可以看到图像已被接收,但我没有在屏幕上获取图像。我想我的childappend和body append部分有问题
$(this).find("img").attr("src","http://" + response.images.platformList[this.id]);