2016-02-28 34 views
2

我在裏面有幾個onclick按鈕。我不知道如何獲得JavaScript函數中每個按鈕的標題,一旦它被點擊?我想設置按鈕的標題等於一個變量。提前感謝。如何在javascript函數內部點擊按鈕後得到onclick按鈕的標題?

<javascript> 
    function MyFunction(MyFile,MyImage){ 

    //here i want to get the title of onclick button which is Mango and set it equal to variable. 

    } 
    </javascript> 

    <li><a id="123456" onclick="setCurrentID('123456');javascript:MyFunction('type=fruit&day=friday','http://somesite.com/Image1.png');">Mango</a><img src="http://www.somesite.com/123456.png"></li> 
    <li><a id="123457" onclick="setCurrentID('123457');javascript:MyFunction('type=fruit&day=friday','http://somesite.com/Image2.png');">Apple</a><img src="http://www.somesite.com/123457.png"></li> 
+0

謝謝回覆。我的意思是芒果和蘋果在上面的示例onclick按鈕, – user1788736

+0

如何獲得點擊芒果和蘋果文本通過jQuery或JavaScript一旦點擊? – user1788736

+0

我在下面更新了我的答案,我在衝過去,給了你錯誤的屬性。該功能現在已修復。 – Munsterlander

回答

1

與您的onclick函數發送的ID,然後你通過引用標籤:

document.getElementById("myBtn").text; 

所以基本上:

<a id="1" onClick="reply_click(this.id)">B1</a><br /> 
<a id="2" onClick="reply_click(this.id)">B2</a><br /> 
<a id="3" onClick="reply_click(this.id)">B3</a> 

<script type="text/javascript"> 
var newText = 'Thank You'; 
function reply_click(clicked_id) 
{ 
    alert(document.getElementById(clicked_id).text); 
    document.getElementById(clicked_id).text = newText; 
} 
</script> 

編輯:道歉,沒看到你使用錨點而不是按鈕作爲你的問題提到,我的錯。我還添加了如何更改文本。

+0

謝謝你的例子。但我想B1,B2和B3不是ID!此外,是否有可能我不會更改點擊按鈕的結構,因爲我的項目的其餘部分取決於相同的結構! – user1788736

+0

更新了正確的代碼,我的意思是,firstChild.data不值。 – Munsterlander

+0

你是什麼意思的onclick按鈕的結構? – Munsterlander

1

請勿使用inline-event-binding

使用innerHTML,它將返回元素的HTML /文本內容(內部)。

$(SELECTOR).next()將抓取下一個元素。.attr()將返回元素的指定屬性。

試試這個:

var CurrentID; 
 
$('li a').on('click', function(e) { 
 
    e.preventDefault(); 
 
    setCurrentID(this.id); 
 
    MyFunction('type=fruit&day=friday', $(this).next('img').attr('src'), this.innerHTML); 
 
}); 
 

 
function setCurrentID(id) { 
 
    CurrentID = id; 
 
} 
 

 
function MyFunction(MyFile, MyImage, MyTitle) { 
 
    alert('MyFile: ' + MyFile + ' MyImage: ' + MyImage + ' MyTitle:' + MyTitle) 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> 
 
<ul> 
 
    <li><a id="123456">Mango</a> 
 
    <img src="http://www.somesite.com/123456.png"> 
 
    </li> 
 
    <li><a id="123457">Apple</a> 
 
    <img src="http://www.somesite.com/123457.png"> 
 
    </li> 
 
</ul>

Fiddle here

+0

爲什麼不直接使用錨標籤的text屬性?我覺得我錯過了你的回答有多複雜的問題 – Munsterlander

+0

可以使用'Node.textContent'但它會失敗'IE <9' – Rayon

+0

啊,有時候會忘記IE的向後兼容。有道理,謝謝! – Munsterlander

相關問題