Javascript-img字符串数组将数字附加到特定属性

Javascript-img字符串数组将数字附加到特定属性,javascript,Javascript,我有一个数组, "", ""]; log(“my_imgs=“+my_imgs”); my_函数(my_imgs[0],“987”);//-->必须返回:“ my_函数(my_imgs[1],“76”);//-->必须返回: my_函数(my_imgs[2],“345”);//-->必须返回: 我基本上知道有必要解决这个问题,但我正在努力解决我的问题,因此想寻求一些帮助。创建img标记的HTML DOM元素,并设置它的新属性 <html> <head> <

我有一个
数组,
"",
""];
log(“my_imgs=“+my_imgs”);
my_函数(my_imgs[0],“987”);//-->必须返回:“
my_函数(my_imgs[1],“76”);//-->必须返回:
my_函数(my_imgs[2],“345”);//-->必须返回:


我基本上知道有必要解决这个问题,但我正在努力解决我的问题,因此想寻求一些帮助。

创建img标记的
HTML DOM元素,并设置它的新属性

<html>
<head>
    <title>Append integer into the 'foo'-attribute of an 'img'-tag - Test</title>
    <script>        
        function my_function(some_img, some_integer){
            //magic happens :-(
            return some_img_with_appended_integer;
        }
    </script>
</head>
<body>
    <script>        
        var my_imgs = ["<img src='1.png' foo='99 1 33' bar='qwertz1' harhar='yxcvb1' />",
                       "<img src='2.png' foo='2 3' bar='qwertz2' harhar='yxcvb2' someother='x' />",
                       "<img src='3.png' foo='9 7 2' bar='qwertz3' harhar='yxcvb3' />"];
        console.log("my_imgs = " + my_imgs);    
        my_function(my_imgs[0],"987"); // --> must return: "<img src='1.png' foo='99 1 33 987' bar='qwertz1' harhar='yxcvb1' />"
        my_function(my_imgs[1],"76"); // --> must return: "<img src='2.png' foo='2 3 76' bar='qwertz2' harhar='yxcvb2' someother='x' />"
        my_function(my_imgs[2],"345"); // --> must return: "<img src='3.png' foo='9 7 2 345' bar='qwertz3' harhar='yxcvb3' />"
    </script>
</body>

创建img标记的
htmldom元素
,并设置它的新属性

<html>
<head>
    <title>Append integer into the 'foo'-attribute of an 'img'-tag - Test</title>
    <script>        
        function my_function(some_img, some_integer){
            //magic happens :-(
            return some_img_with_appended_integer;
        }
    </script>
</head>
<body>
    <script>        
        var my_imgs = ["<img src='1.png' foo='99 1 33' bar='qwertz1' harhar='yxcvb1' />",
                       "<img src='2.png' foo='2 3' bar='qwertz2' harhar='yxcvb2' someother='x' />",
                       "<img src='3.png' foo='9 7 2' bar='qwertz3' harhar='yxcvb3' />"];
        console.log("my_imgs = " + my_imgs);    
        my_function(my_imgs[0],"987"); // --> must return: "<img src='1.png' foo='99 1 33 987' bar='qwertz1' harhar='yxcvb1' />"
        my_function(my_imgs[1],"76"); // --> must return: "<img src='2.png' foo='2 3 76' bar='qwertz2' harhar='yxcvb2' someother='x' />"
        my_function(my_imgs[2],"345"); // --> must return: "<img src='3.png' foo='9 7 2 345' bar='qwertz3' harhar='yxcvb3' />"
    </script>
</body>
您可以使用
createElement
来实现这一点,它将使用
innerHTML
在创建的元素中创建新的
DOM元素
append
图像
元素,然后您可以使用
getElementsByTagName
DOM节点
getAttribute
方法找到该元素和
setAttribute
来操作
属性

试试这个:
函数我的函数(一些img,一些整数){
var elem=document.createElement('div');
elem.innerHTML=some\u img;
var image=elem.getElementsByTagName('img')[0];
var attribute=image.getAttribute('foo');
setAttribute('foo',attribute+''+某个整数);
返回image.outerHTML;
}
var my_imgs=[“”,
"",
""
];
var modified=my_函数(my_imgs[0],“987”);
警报(已修改);
您可以使用
createElement
来实现这一点,它将使用
innerHTML
在创建的元素中创建新的
DOM元素
append
图像
元素,然后您可以使用
getElementsByTagName
DOM节点
getAttribute
方法找到该元素和
setAttribute
来操作
属性

试试这个:
函数我的函数(一些img,一些整数){
var elem=document.createElement('div');
elem.innerHTML=some\u img;
var image=elem.getElementsByTagName('img')[0];
var attribute=image.getAttribute('foo');
setAttribute('foo',attribute+''+某个整数);
返回image.outerHTML;
}
var my_imgs=[“”,
"",
""
];
var modified=my_函数(my_imgs[0],“987”);

警报(已修改);
您可以使用正则表达式替换字符串
replace()

function my_function(some_img, some_integer){
            var div = document.createElement('div');
            div.innerHTML = some_img;
            var el = div.childNodes[0];
            var foo = el.getAttribute("foo")+" "+some_integer;
            el.setAttribute("foo", foo);
            return el;
        }

请注意,这依赖于使用
'
来引用属性值-如果要将
'
混合使用,则需要稍微复杂一点的正则表达式,但原理是相同的。

可以使用字符串
替换()

function my_function(some_img, some_integer){
            var div = document.createElement('div');
            div.innerHTML = some_img;
            var el = div.childNodes[0];
            var foo = el.getAttribute("foo")+" "+some_integer;
            el.setAttribute("foo", foo);
            return el;
        }

请注意,这依赖于使用
'
引用属性值-如果您要混合使用
'
您需要一个稍微复杂一些的正则表达式,但原理是一样的。

您必须将它们作为字符串处理吗?如果您处理的是实际的
元素,那么这将容易得多……如果可以在添加数字后以某种方式将
-元素转换为字符串表示,那么就可以了。(我猜)你必须把它们当作弦来处理吗?如果您处理的是实际的
元素,那么这将容易得多……如果可以在添加数字后以某种方式将
-元素转换为字符串表示,那么就可以了。(我猜)