为什么要使用:
(document.getElementById("ipv") as HTMLInputElement).value;
代替:
document.getElementById("ipv").value;
?
答案 0 :(得分:6)
df3 = (pd.concat([df1.set_index('SN'),
df2.set_index('SN')], axis=1, keys=('x', 'y')).T.fillna(0))
#flatten MultiIndex
df3.index = [f'{j}_{i}' for i, j in df3.index]
print (df3)
SN 456123 789456 123789
A_x 10.0 15.0 16.0
B_x 23.0 45.0 62.0
C_x 48.0 98.0 55.0
A_y 10.0 15.0 68.0
B_y 19.0 45.0 77.0
C_y 48.0 0.0 55.0
将无法返回特定的元素类型,因为它事先不知道该元素的类型,因此您需要在结果之后将结果强制转换为HTMLInputElement,以便{可以识别该类的{1}}属性。
答案 1 :(得分:4)
函数getElementById
返回类型为HTMLElement
的对象。
来自lib.dom.d.ts:
/**
* Returns a reference to the first object with the specified value of the ID or NAME attribute.
* @param elementId String that specifies the ID value. Case-insensitive.
*/
getElementById(elementId: string): HTMLElement | null;
HTMLElement
类型是DOM其他标记类型的基本类型。
例如,类型HTMLInputElement
扩展了HTMLElement
并具有类型value
没有的属性HTMLElement
。
来自lib.dom.d.ts:
interface HTMLInputElement extends HTMLElement {
...
/**
* Returns the value of the data at the cursor's current position.
*/
value: string;
...
由于HTMLInputElement
扩展了HTMLElement
,因此接下来的几行可以编译:
const inputTag = document.getElementById('name-input') as HTMLInputElement;
const value = inputTag.value;