为什么我的if条件会阻止任何一个子句执行?

Eri*_*ric 0 javascript jquery

我正在尝试重写我使用jQuery类选择器选择的一组链接的URL.但是,我只想重写那些尚未指定href属性的链接,所以我输入了一个if/else结构来检查这个......但是,它没有用.它确实没有if else语句,所以我很确定这是我搞砸的地方.我是JavaScript和jQuery的新手,很抱歉,如果我的问题是基本的和/或过于明显的话.

   var url = window.location;
   var barTwitter = $("a.shareTwitter").attr('href');
   if (barTwitter).val() == "null") {
   $("a.barTwitter").attr('href','http://www.twitter.com/home?status='+ url +'');
     } else {
   $("a.barTwitter").attr('href',barTwitter);
   }
Run Code Online (Sandbox Code Playgroud)

Bal*_*usC 5

if (barTwitter).val() == "null") {
Run Code Online (Sandbox Code Playgroud)

这在语法上是无效的(计算括号!).你宁愿做:

if (barTwitter.val() == "null") {
Run Code Online (Sandbox Code Playgroud)

此外,该val()函数仅适用于由jQuery包装的输入元素,而不适用于最终只是普通变量的元素属性值.您更愿意将正常变量与文字进行比较null:

if (barTwitter == null) {
Run Code Online (Sandbox Code Playgroud)