[英]javascript - onclick do something to the element inside
<li onclick='doSomething(this)'><img src='pix.png' /><a href='#'>link</a></li>
<li onclick='doSomething(this)'><img src='pix2.png' /><a href='#'>link2</a></li>
單擊列表后,我希望該列表中img的display屬性變為'inline'
function doSomething(obj)
{
//how to make <img> inside the onclick <li> display=inline
}
如何使用該函數調用來處理這個問題,我希望這樣,因為我有一個以這種方式格式化的現有代碼。
謝謝!
這應該夠了吧
function doSomething(obj)
{
obj.getElementsByTagName("img")[0].style.display = "inline";
}
您可以在傳遞的obj
上使用getElementsByTagName
來查找img
標記:
function doSomething(obj) {
var images = obj.getElementsByTagName("img");
for(var i in images) {
images[i].style.display = "inline";
}
}
雖然這里的每個人都會告訴你不再使用內聯onclick處理程序(這是正確的),但我會理所當然地認為你別無選擇。
您可以將id分配給img元素:
<li onclick='doSomething("img1")'><img id='img1' src='pix.png' /><a href='#'>link</a></li>
<li onclick='doSomething("img2")'><img id='img2' src='pix2.png' /><a href='#'>link2</a></li>
接着:
function doSomething(id)
{
document.getElementById(id).style.display = "inline";
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.