代码之家  ›  专栏  ›  技术社区  ›  Sakamoto Kazuma

javascript表选择

  •  1
  • Sakamoto Kazuma  · 技术社区  · 15 年前

    我试图选择一个表行,并用javascript突出显示它。然而,似乎什么都没用。当我注释掉下面代码的前两行时,我可以高亮显示,但是当我单击另一行时,先前选择的行将保持高亮显示,而不是返回到白色。

        var selectedEventId = 0;
    
        function SelectRow(tableRow){
           var SelectedRow = Document.getElementById('selectedEventId');
           SelectedRow.style.backgroundColor = 'white';
    
           var frame = document.getElementById('additionalText');
           frame.src="iframeContents.php?id="+tableRow.id;
           selectedEventId = tableRow.id;
           tableRow.style.backgroundColor = '3366ff';
           var prevRow = document.getElementById('selectedEventId');
           return;
    
        }//end SelectRow
    

    任何帮助都将不胜感激。

    3 回复  |  直到 7 年前
        1
  •  1
  •   DoctorLouie    15 年前

    试试这个:

    
    var selectedEventId = 0; 
    var prevRow = ''; 
    function SelectRow(tableRow){ 
        if (prevRow != '') { prevRow.backgroundColor = 'white'; }
        var frame = document.getElementById('additionalText'); 
        frame.src="iframeContents.php?id="+tableRow.id; 
        selectedEventId = tableRow.id; 
        tableRow.style.backgroundColor = '3366ff';
        // based on the assumption that selectedEventId is set as a global variable
        prevRow = document.getElementById(selectedEventId);
        return; 
    }
    
        2
  •  1
  •   rahul    15 年前

    替换

    var SelectedRow = Document.getElementById('selectedEventId');
    

    具有

    var SelectedRow = document.getElementById(selectedEventId);
    

    因为selectedEvent是一个变量。在第一段代码中,它将selectedEventid视为字符串。

    注释

    你的身份证不应该以数字开头。

        3
  •  0
  •   Roy Tang    15 年前

    您应该改为调用document.getelementbyid(selectedeventid)吗?(不带引号)