2011-05-10 76 views
1

我有兩個錨元素之間一個div:如何追加兩個定位元素

<a onclick="PostMenuAction('abc');" class="port" title="AddPort" id="lnkPort">port</a> 

<a onclick="PostMenuAction('def');" class="crop" title="AddCrop" id="lnkCrop">crop</a> 

現在我想在這兩者之間插入一個小圖像的股利。

所以這將是

<a onclick="PostMenuAction('abc');" class="port" title="AddPort" id="lnkPort">port</a> 
<div id="additionaldiv"> <img src="" id="additional img" /> </div> 
<a onclick="PostMenuAction('def');" class="crop" title="AddCrop" id="lnkCrop">crop</a> 

能否請你幫我添加相同?使用JavaScript

在此先感謝

+0

您是否想在某些點擊事件的兩個錨元素之間添加div? – Ankit 2011-05-10 06:17:44

+0

你想這樣做:

? – bungdito 2011-05-10 06:51:15

回答

3

你在這裏。您可以到這一點的JavaScript函數:

var div = document.createElement("div"); 
var img = document.createElement("img"); 
img.src = "/path/to/image"; 
div.appendChild(img); 
var a = document.getElementById("lnkCrop"); 
a.parentNode.insertBefore(div,a); 
1

解決了我很高興,如果這在這裏你去:

<a onclick="PostMenuAction('abc');" class="port" title="AddPort" id="lnkPort">port</a> 
<div><img src="small.gif" alt="" /></div> 
<a onclick="PostMenuAction('def');" class="crop" title="AddCrop" id="lnkCrop">crop</a> 
+0

我認爲這個問題是問如何在JavaScript中做到這一點? – 2011-05-10 06:25:59

+0

:)一旦簡單:) – bungdito 2011-05-10 06:32:48

+0

@James Khoury:我的(微妙的)點是,問題*不是*問怎麼在javascript中做... – Guffa 2011-05-10 06:42:10

1

你可以調用JavaScript來做到這一點。以下是執行此功能的方法。

document.getElementById("lnkPort").innerHTML = document.getElementById("lnkPort").innerHTML+'<div><h1>Test</h1></div>'; 
+0

它會是port

,對吧? – bungdito 2011-05-10 06:37:06

+0

@bungdito:是的。 – Ankit 2011-05-10 06:39:00

+0

真的這個問題是ambigous,因爲我認爲問題是如何插入兩個錨之間的div,我的意思是像

但我不知道,cmiiw :) – bungdito 2011-05-10 06:49:40

4

這裏是一個JavaScript函數來做到這一點:

function addImageBefore(path, id) { 
    var div = document.createElement('div'), 
     img = document.createElement('img'), 
     refElement = document.getElementById(id); 

    if (!refElement) {// Presumably atypical, hence not worrying about creating above 
     return null; 
    } 
    img.src = path; 
    div.appendChild(img); 
    refElement.parentNode.insertBefore(div, refElement); 
    return div; 
} 

調用它,你的情況是這樣的:

addImageBefore("path/to/img", "lnkCrop"); 

把在調用無論是什麼事件處理程序或您想要觸發添加的東西。

更多DOM規格:DOM2 CoreDOM2 HTMLDOM3 Core

+0

感謝這就是正確的。 – Ronan 2011-05-12 04:48:07