多个ul获取点击的ul下的li的内容有些能获得 有些能报错 这咋回事

多个ul获取点击的ul下的li的内容有些能获得 有些能报错 这怎么回事
<ul>
  <li class="bookName">.<a href="#" onclick="buyGoods(this)">老人与海</a></li>
  <li class="oldPrice">¥36.00<li>
  <li class="newPrice">¥28.00</li>
  <li class="buyGoods"><a href="#" onclick="buyGoods(this)">购买</li>
  </ul>
  <ul>
  <li class="bookName">.<a href="#" onclick="buyGoods(this)">冰与火之歌</a></li>
  <li class="oldPrice">¥56.00<li>
  <li class="newPrice">¥47.60</li>
  <li class="buyGoods"><a href="#" onclick="buyGoods(this)">购买</li>
  </ul>

下面是js脚本
//用户点击商品名称或购买连接后调用下面的js方法
function buyGoods(addObj){
//获取到ul对象
var ulObj = addObj.parentNode.parentNode;
//获取ul对象下的所有li集合 
var liObjs = ulObj.children;
//获取到第一个li里的第一个对象(即书名)
var bookName = liObjs[0].children[0].innerHTML;
alert(bookName);
}

很奇怪的是点击第一个“老人与海” 能得出书名 第二个就报错cannot read property 'innerHTML' of underfine
不止这两个 我有8个ul 其中 第1 6 7 8 个能正常显示 2 3 4 5 却报错 !这是怎么回事啊 js脚本该怎么写呢 希望高手指点 谢谢
------解决思路----------------------
<a href="#" onclick="buyGoods(this)">购买</li>
似乎是少了</a>, 不知道是不是这个原因。
<a href="#" onclick="buyGoods(this)">购买</a></li>
------解决思路----------------------
自己断点下  应该是dom没取到
------解决思路----------------------
js 代码应该没问题,还是 html 内容不对。
------解决思路----------------------
 	<ul>
  <li class="bookName">.<a href="#" onclick="buyGoods(this)">老人与海</a></li>
  <li class="oldPrice">¥36.00</li>
  <li class="newPrice">¥28.00</li>
  <li class="buyGoods"><a href="#" onclick="buyGoods(this)">购买</a></li>
  </ul>
  <ul>
  <li class="bookName">.<a href="#" onclick="buyGoods(this)">冰与火之歌</a></li>
  <li class="oldPrice">¥56.00</li>
  <li class="newPrice">¥47.60</li>
  <li class="buyGoods"><a href="#" onclick="buyGoods(this)">购买</a></li>
  </ul>