Der Code, den Sie nicht gepostet nicht gewonnen Ich arbeite nicht so, wie du es erwartest, was du hier machst, ist das Überprüfen des Attributwerts des angegebenen Attributs ("data-params"
) ist gleich "undefined"
, die true
nur zurückgibt, wenn das Attribut data-params="undefined"
ist.
if (object.getAttribute("data-params") === "undefined") {
// the "data-params" attribute-value is exactly "undefined"
// note that `getAttribute()` is a
}
Was ich vermute, Sie wollen zu tun ist:
var typeOfObjectAttribute = typeof object.getAttribute("data-params");
if (typeOfObjectAttribute === null || typeOfObjectAttribute === "") {
// data-params attribute doesn't exist on that Node.
}
Beachten Sie, dass – nach Mozilla Developer Network (am Referenz für Element.getAttribute()
unten) – heißt es:
getAttribute()
Gibt den Wert eines angegebenen Attributs für das Element zurück. Wenn das angegebene Attribut nicht existiert, ist der zurückgegebene Wert entweder null
oder ""
(die leere Zeichenfolge) & hellip;
Es ist auch erwähnenswert, dass getAttribute()
ein Verfahren des Elementknoten ist, eher als generische Objekte.
Im Übrigen könnten Sie auch folgende Vorgehensweise verwenden (wieder testen, dass das Attribut nicht set):
// here we look to see if the 'params' key is present in the
// HTMLElement.dataset object of the element, and then invert
// that result using the '!' operator, to check that the
// attribute *isn't* present:
if (!('params' in document.getElementById('elementID').dataset)) {
// the data-params attribute is not present.
}
Referenzen:
'if (typeof obj [ "data-Attribut"]! == "undefined") {// Code hier}' –