如何添加/更改属性的值

时间:2017-01-04 13:26:29

标签: javascript jquery html

我在html

中使用了Area Map的照片

我在页面中添加了一些引导程序,但长话短说。

我想根据装载后图片的位置动态改变我所在区域的坐标 我得到了像这样的图片的位置

var addLEFT = $("#body_hand_foot_image").position().left;
var addTOP = $("#body_hand_foot_image").position().top;

所以从这里我想将两个变量的值添加到区域的坐标。以下是其中一个区域的示例。 它们都是准确的,图片位于x = 0 - y = 0。

<area class="joint" alt="Front Right Neck" href="#" joint="R_Neck_front" full="Right Neck" shape="circle" coords="126,92,8" />    

任何想法?

一些帮助后的最终解决方案

function reconfCoords() {
    var items = $('#jointMap').find('area');
    items.each(function () {
        var c = $(this).attr('coords');
        var coords = c.split(',');

        coords[0] = (Number(coords[0]) + Number($("#body_hand_foot_image").position().left)).toString();
        coords[1] = (Number(coords[1]) + Number($("#body_hand_foot_image").position().top)).toString();
        $(this).attr('coords',coords.join());

        var a = $(this).attr('coords');
    });
    return true;
}

2 个答案:

答案 0 :(得分:2)

尝试做这样的事情:

var coords = $('area').attr('coords').split(',');

coords[0] = $("#body_hand_foot_image").position().left;
coords[1] = $("#body_hand_foot_image").position().top;

$('area').attr('coords',coords.join());

答案 1 :(得分:1)

在jQuery中使用$ elem.attr()来获取和设置元素属性。在vanilla HTML中使用Element.getAttribute()和Element.setAttribute()。

我认为你想得到&#34; coords&#34;属性,将值拆分为&#34;,&#34;,将值分别添加到[0]和[1],通过重新加入数组重新创建coord值,然后设置属性。