You are not logged in.

  • Login

Dear visitor, welcome to Coder Forum. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

1

Tuesday, September 22nd 2009, 8:23am

probelem bei setAttribute im ie

hallo @all

ich hab ein problem mit dem setzen der attribute bei einer per javascript erzeugten tabelle. im firefox siehts perfekt aus und im ie, wie sollts auch anders sein, hauts ma wieder durch. Hat jemand ne idee?

2

Tuesday, September 22nd 2009, 11:00am

So ein bisschen Code wäre schon hilfreich beim Lösen deines Problems! Und vllt ein paar mehr Informationen als ein Einzeiler. Welches Attribut willst du setzen usw.

3

Tuesday, September 22nd 2009, 1:17pm

jo hast recht.. also ich erzeug mit


JavaScript Code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
function updateTable(){
 
 if(tableCounter > 0){
 
 update("deptTbl");
}
 
var chosenDepartmentIndex = document.getElementById("dOptions").selectedIndex; 
var chosenDepartment = document.getElementById("dOptions").options[chosenDepartmentIndex].text; 
 
var body = document.getElementsByTagName("body")[0]; 
var tbl = document.createElement("table"); 
var tblHead = document.createElement("thead"); 
var header = document.createElement("tr"); 
var headerCell1 = document.createElement("th"); 
var headerCell2 = document.createElement("th"); 
var headerCell3 = document.createElement("th"); 
 
var headerCellName = document.createTextNode("Name"); 
headerCell1.appendChild(headerCellName); 
header.appendChild(headerCell1); 
tblHead.appendChild(header); 
 
var headerCellTel = document.createTextNode("Telefon"); 
headerCell2.appendChild(headerCellTel); 
header.appendChild(headerCell2); 
tblHead.appendChild(header); 
 
var headerCellDept = document.createTextNode("Abteilung"); 
headerCell3.appendChild(headerCellDept); 
header.appendChild(headerCell3); 
tblHead.appendChild(header); 
tblHead.setAttribute("class", 'alt'); 
tblHead.style.borderSpacing = "0"; 
var tblBody = document.createElement("tbody"); 
 
var resultCounter = 0; 
 
var chosenNames = new Array(); 
var chosenNumbers = new Array(); 
var chosenDepts = new Array(); 
 
for (var j = 0; j < allDepts.length; j++) { 
 
if(allDepts[j] == chosenDepartment){ 
 
chosenNames[resultCounter] = allNames[j]; 
chosenNumbers[resultCounter] = allNumbers[j]; 
chosenDepts[resultCounter] = allDepts[j]; 
resultCounter++; 
} 
} 
 
for (var j = 0; j < chosenNames.length; j++) { 
 
var row = document.createElement("tr"); 
row.setAttribute("class", 'alt'); 
 
for (var i = 0; i < 3; i++) { 
 
var modRes = i % 3; 
 
if(modRes == 0){ 
 
var cell1 = document.createElement("td"); 
var cellText1 = document.createTextNode(chosenNames[j]); 
cell1.appendChild(cellText1); 
row.appendChild(cell1); 
 
}else if(modRes == 1){ 
 
var cell2 = document.createElement("td"); 
var cellText2 = document.createTextNode(chosenNumbers[j]); 
cell2.appendChild(cellText2); 
row.appendChild(cell2); 
}else{ 
var cell3 = document.createElement("td"); 
var cellText3 = document.createTextNode(chosenDepts[j]); 
cell3.appendChild(cellText3); 
row.appendChild(cell3); 
} 
 
} 
 
tblBody.appendChild(row); 
} 
 
tbl.appendChild(tblHead); 
tbl.appendChild(tblBody); 
tbl.setAttribute("id", "deptTbl"); 
 
body.appendChild(tbl); 
 
tableCounter++; 
}


mit folgendem style

Cascading Style Sheets

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<style type="text/css"> 
table { 
border: solid #66CC99; 
border-width: 0px 1px 1px 0px; 
width: 400px; 
} 
th, td { 
border: solid #66CC99; 
border-width: 1px 0px 0px 1px; 
padding: 4px; 
} 
th { 
background-color: #339999; 
color: #FFFFFF; 
} 
tr.alt td { 
background-color: #EEEEEE; 
} 
tbody { 
height: 200px; 
width: 100%; 
overflow-y: auto; 
overflow-x: auto; 
} 
</style> 
<!--[if IE]> 
<style type="text/css"> 
div { 
position: relative; 
height: 200px; 
width: 400px; 
overflow-y: scroll; 
overflow-x: scroll; 
border: solid #66CC99; 
border-width: 0px 0px 1px 0px; 
} 
table { 
border-width: 1px 1px 0px 0px; 
} 
thead tr { 
position: absolute; 
top: expression(this.offsetParent.scrollTop); 
} 
tbody { 
height: auto; 
 
} 
table tbody tr:first-child td { 
padding: 29px 4px 4px 4px; 
} 
</style> 
<![endif]-->


jetzt will ich der tabelle das class atr zuweisen, was im firefox auch läuft, im ie fehlen jedeoch die scrollbalken und der head ist immer am seitenanfang..
wie kann ich nun das class atr zuweisen, sodass es auch ie erkennt

// edit by vince - Syntax Highlighting hinzugefügt - Bitte beachten !

Similar threads

Social bookmarks