gpt4 book ai didi

javascript - 从 DOM 元素获取文本并将其插入到 'title' typescript

转载 作者:太空狗 更新时间:2023-10-29 18:02:05 28 4
gpt4 key购买 nike

我正在尝试用 angular2 + typescript 编写一个指令,使工具提示仅在省略号处于事件状态时显示(显示完整文本仅在未完全显示时弹出,并以 "..."结尾)。我在 stackoverflow 中找到了这个答案:

show the tooltip only when ellipsis is active

现在我正在尝试翻译这个 Jquery 函数:

typescript 。到目前为止,这是我得到的:

import { Directive, ElementRef } from '@angular/core';

@Directive({ selector: '[isEllipsisActive]' })

export class IsEllipsisActiveDirective {
constructor(el: ElementRef) {
if (el.nativeElement.classList.contains('className')) {
if (this.isEllipsisActive(el.nativeElement)) {
//el.nativeElement.attributes("title",el.nativeElement.text());
}
}
}
isEllipsisActive(e: any) {
return (e.offsetWidth < e.scrollWidth);
}
}

我不知道如何使用 typescript 从元素中获取文本并将其传递给元素的标题。有什么想法吗?

谢谢!

最佳答案

根据 Angular2 doc,使用 ElementRef 直接访问 DOM 似乎并不安全.您可以使用带有 ElementRef 的渲染器以这种方式获取/设置 DOM 值:

import {Renderer, ElementRef} from '@angular/core;
...
export class IsEllipsisActiveDirective {
constructor {
private _renderer: Renderer,
private _el: ElementRef
} (
//get value
this._el.nativeElement.querySelector('div/p/whatever...')
//set value
this._renderer(_el.nativeElement.querySelector(tag), 'innerHTML', 'Foo')
)

希望这对您有所帮助。归功于这些 Stack Overflow 答案:

关于javascript - 从 DOM 元素获取文本并将其插入到 'title' typescript ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41564661/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com