Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.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编写<;地图>;及<;面积>;html标签?_Javascript_Html_Map_Area - Fatal编程技术网

如何使用javascript编写<;地图>;及<;面积>;html标签?

如何使用javascript编写<;地图>;及<;面积>;html标签?,javascript,html,map,area,Javascript,Html,Map,Area,我需要做的是在添加区域标记时将其动态写入地图,这样当我单击它们时,它们就会触发一个函数 <img src="out.jpg" usemap="#mapmap"/> <map name="mapmap"> <area id="1" shape="rect" coords="75,300,125,400" onclick="writeDiv(this.id)"/> <area id="2" shape="rec

我需要做的是在添加区域标记时将其动态写入地图,这样当我单击它们时,它们就会触发一个函数

    <img src="out.jpg" usemap="#mapmap"/>
    <map name="mapmap">
        <area id="1" shape="rect" coords="75,300,125,400" onclick="writeDiv(this.id)"/>
        <area id="2" shape="rect" coords="175,300,225,400" onclick="writeDiv(this.id)"/>
        <area id="3" shape="rect" coords="275,300,325,400" onclick="writeDiv(this.id)"/>
    </map>

这正是我所需要的,如果我知道这些地区将在哪里。但是,随着用户添加更多内容,我需要动态加载它们,我已经尝试过(在脚本标记中):

$(“”)。附加到('body');
$(“”)。附加到('body');
$(“”)。附加到('body');
$(“”)。附加到('body');
$(“”)。附加到('body');
$(“”)。附加到('body');
这将是好的,因为我仍然可以围绕图像格式化我的页面的其余部分,除了它不能像您预期的那样工作。我已经测试过了

    $("<div id=\"test\">testing text<\/div>").appendTo('body');
$(“测试文本”).appendTo('body');
这样就可以把文本写到我的页面主体的底部

那么,有没有办法让它工作,或者和之间的依赖关系总是会把它搞砸?如果你能想出另一种完全可行的方法,我愿意接受建议。谢谢

使用
$(“”)
时,jQuery解析HTML并从中创建DOM元素。您正在附加元素,而不是标记。像这样添加
将创建一个
元素并将其追加,该元素(如果在追加后转储生成的HTML)将显示在带有
标记和所有内容的文档中

元素必须进入
元素,而不是主体,才能工作(通常,文档要保持有效的HTML)

var$map=$('').appendTo('body');
$('')。附录($map);
$('')。附录($map);
$('')。附录($map);
//注意,没有$('')-$('')已经处理好了

我不知道你想要什么?当您单击按钮时,是否需要一个按钮将标记添加到?您是如何生成区域标记信息的?否最终信息将来自数据库,其中包含区域所需的坐标。我问过如何使用javascript来创建这些区域标记,我不知道如何才能更清楚…试着这样做:更好的办法是在循环代码中添加任何额外的按钮,然后用html呈现,此外,如果您想使用任何js附加事件,请使用代码中的函数调用函数。加载映射后,单击,其他事件处理程序将无法工作不确定我是否正确理解您的建议,首先,一旦我连接了数据库,它将在一个循环中,所以不用担心,但当编程时,总是一步一步地进行;我不需要20次循环失败,而我只需要1次。其次,如果我使用javascript编写一个简单的按钮或其他单行html,并添加指向函数的onclick,它仍然会运行该函数。
    $("<div id=\"test\">testing text<\/div>").appendTo('body');
var $map = $('<map name="mapmap">').appendTo('body');
$('<area id="1" shape="rect" coords="75,300,125,400" onclick="writeDiv(this.id)" />').appendTo($map);
$('<area id="2" shape="rect" coords="175,300,225,400" onclick="writeDiv(this.id)" />').appendTo($map);
$('<area id="3" shape="rect" coords="275,300,325,400" onclick="writeDiv(this.id)" />').appendTo($map);
// Note, no $('</map>') -- the $('<map...>') already took care of that