2016-12-11 10 views
0

私は非常にうなり声を上げています。私は何かを知りたいと思います。このような変数(または類似の方法)を設定する方法はありますか?両方が動作していない変数/文字列を関数に

<body> 

<button id="button1" onclick="change(this.something);"> click me </button> 
<button id="button2" onclick="change(this.lorem);"> or this one </button> 
<div id="target"> change this content </div> 

<script> 
function change(variable) 
{ 
document.getElementById("target").innerHTML = variable; 
} 
</script> 
</body> 

またはコースのこの

<body> 

<button id="button1" onclick="change(this.value(v1));"> click me </button> 
<button id="button2" onclick="change(this.value(v2));"> or this one</button> 

<div id="target"> change this content </div> 

<script> 
function change(value) 
{ 
var v1 = "something"; 
var v2 = "lorem"; 

document.getElementById("target").innerHTML = variable; 
} 
</script> 

のようなもの..ただ答えを見つける方法がわかりません。

答えて

4

おそらく、あなたはすなわちchange('literal text')、関数に文字列リテラルを渡す意味:

function change(variable) { 
 
    document.getElementById("target").innerHTML = variable; 
 
}
<button id="button1" onclick="change('something');"> click me </button> 
 
<button id="button2" onclick="change('lorem');"> or this one </button> 
 
<div id="target"> change this content </div>

0

場合はsomethingまたはloremにdiv要素の内容を設定する意図、そしてあなたがすべきこれにプロパティにアクセスしようとするのではなく、文字列リテラルを使用して渡します。リテラル文字列を使用して

<button id="button1" onclick="change('something');"> click me </button> 
<button id="button2" onclick="change('lorem');"> or this one </button> 

this.somethingthisオブジェクト上somethingプロパティの値を取得しようとするproperty accessorで使用し、一方change関数に指定された値を含むStringを渡します。これらの変数は、あなたのchange関数の内部スコープと外からアクセスすることはできませんので、あなたの2番目の例では

、あなたはonclickハンドラからv1v2を使用することはできません。