Ich habe ein Span-Element:

let infoButton = document.createElement("span"); 
infoButton.setAttribute("class", "info-point");

So fügen Sie dem Element einen Selektor [fett] hinzu, um Folgendes zu erhalten:

<span [bold] class="info-point"></span>

Oder

<span bold class="info-point"></span>
0
OPV 21 Feb. 2020 im 21:12

3 Antworten

Beste Antwort

Das Festlegen eines Attributs mit einer leeren Zeichenfolge sollte zu solchen Ergebnissen führen. Dies wird als boolesches Attribut bezeichnet (häufig in Frameworks wie React, Angular usw. verwendet). Sie sind gültig wie in den W3 Specs .

let infoButton = document.createElement("span"); 
infoButton.setAttribute("class", "info-point");
infoButton.setAttribute("bold", "");
console.log(infoButton);
2
Sterling Archer 21 Feb. 2020 im 18:15

Sie können die folgende Anweisung verwenden, um fetten Text zu erstellen.

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

@Directive({
  selector: '[boldText]'
})
export class BoldTextDirective {
    constructor(el: ElementRef) {
       el.nativeElement.style.fontWeight = 'bold';
    }
}

HTML

<span boldText class="info-point"></span>

Hoffe das hilft.

1
Laminoo Lawrance 21 Feb. 2020 im 18:28

Verwenden Sie die native API besser, um Elementklassen zu verwalten.

var infoButton = document.createElement("span"); 

infoButton.classList.add("info-point");
2
Chris Love 21 Feb. 2020 im 18:21