Ce code est-il bon?
var wlocation = $(this).closest('.myclass').find('li a').attr('href');
if (wlocation.prop !== undefined) { window.location = wlocation; }
ou devrais-je faire
var wlocation = $(this).closest('.myclass').find('li a').attr('href');
if (wlocation.prop !== "undefined") { window.location = wlocation; }
J'aime ça:
if (wlocation !== undefined)
Mais si vous préférez, la deuxième façon ne serait pas celle que vous avez publiée. Ce serait:
if (typeof wlocation !== "undefined")
J'aime généralement la version raccourcie:
if (!!wlocation) { window.location = wlocation; }
$. fn.attr (attributeName) renvoie la valeur d'attribut sous forme de chaîne, ou undefined
lorsque l'attribut n'est pas présent.
Puisque ""
et undefined
sont tous les deux fausses (évaluées à false lorsqu'elles sont forcées à booléennes) en JavaScript, dans ce cas j'écrirais la vérification comme ci-dessous:
if (wlocation) { ... }