![](/img/trans.png)
[英]In IE7 how do I set a global variable or element value using an ajax call during a jquery .click event?
[英]How to set an element to the value of a variable using Jquery
我正在建立一個投資組合網站。 用戶可以使用左右箭頭點擊我的作品。 左右箭頭將變量x設置為1,2或3,並通過“ workSelection”函數將其發送。 當用戶單擊作品時,我希望它更新作品標題以匹配所選作品的變量(1、2或3)。
var workTitle1 = "Work 1";
var workTitle2 = "Work 2";
var workTitle3 = "Work 3";
function workSelection(x)
{
var loop = 1;
while (loop < 4)
{
if (x == loop)
{
$("#workTitle").html('workTitle'+loop);
}
loop++;
}
}
如何更改$(“#workTitle”)。html( 'workTitle'+ loop ); 顯示workTitle1,workTitle2,workTitle3的值。 相反,現在只顯示一個值為“ workTitle1”等的字符串,而不是變量本身的值。
謝謝你的幫助!
您可以使用window['workTitle'+ loop]
var workTitle1 = "Work 1";
var workTitle2 = "Work 2";
var workTitle3 = "Work 3";
function workSelection(x)
{
$("#workTitle").html(window['workTitle'+ x]);
}
編輯:無需循環,我只是回答了如何更改$("#workTitle").html('workTitle'+loop)
以顯示workTitle1
:)值的workTitle1
您的邏輯比需要的復雜。 如果將多個字符串全部更改為存儲在數組中,則可以直接通過索引檢索它們,而不必遍歷它們。 嘗試這個:
var workTitles = [ "Work 1", "Work 2", "Work 3" ];
function workSelection(x) {
$("#workTitle").html(workTitles[x-1]);
}
更簡單的方法
var workTitle = [];
workTitle[0] = "Work 1";
workTitle[1] = "Work 2";
workTitle[2] = "Work 3";
function workSelection(x)
{
var loop = 0;
while (loop < 3)
{
if (x == loop)
{
$("#workTitle").html(workTitle[loop]);
}
loop++;
}
}
這是您想要數組而不是單個變量的地方。 雖然可以使用JavaScript使用單個變量(與eval
,你應該避免,或使其全局和使用它們成為性能的事實window
),沒有充分的理由。
這是陣列版本。 請注意,索引從0開始:
var workTitles = [
"Work 1",
"Work 2",
"Work 3"
];
function workSelection(x) {
for (var loop = 0; loop < workTitles.length; ++loop) {
if (x == loop + 1) { // Note the comparison, since `x` appears to be 1-based
$("#workTitle").html(workTitles[loop]);
}
loop++;
}
}
不過,我認為不需要循環:
var workTitles = [
"Work 1",
"Work 2",
"Work 3"
];
function workSelection(x)
{
$("#workTitle").html(workTitles[x - 1]);
}
使用數組
var workTitles = ["Work 1","Work 2","Work 3"];
function workSelection(x)
{
$("#workTitle").html(workTitles[x]);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.