eBay JavaScript API - 对象成员名称中的 @ 符号
我正在使用 eBay JavaScript 查找 API。 findItemsAdvancedResponse
对象的货币 ID 成员定义为 @currencyId
。因此,我将此值检索为:
function _cb_findItemsAdvanced(root) {
var items = root.findItemsAdvancedResponse[0].searchResult[0].item || [];
var html = [];
if (items.length == 0) {
html.push('No Results');
}
for (var i = 0; i < items.length; ++i) {
var item = items[i];
var title = item.title;
var pic = item.galleryURL;
var viewitem = item.viewItemURL;
var price = Number(item.sellingStatus[0].currentPrice[0].`__value__`).toFixed(2);
var currency = ""
var currency = item.sellingStatus[0].currentPrice[0].@currencyId;
if (null != title && null != viewitem) {
html.push('<div class="item-layout5"><table><tr><td><div style="width:102px;overflow:hidden;">');
html.push('<a href="' + viewitem + '" target="_blank" rel="nofollow"><img src="' + pic + '" border= "" alt="' + title + '" /></a></div></td>');
html.push('<td><span class="itemname"><a href="' + viewitem + '">' + title + '</a></span></td></tr>');
html.push('<tr><td><img src="PTMFOG0000000064.gif" alt="" /></td><td><span class="buyprice">' + currency + ' $' + price + '</span></td></tr></table></div>');
}
}
document.getElementById("results").innerHTML = html.join("");
} // End _cb_findItemsByKeywords() function
这适用于 Firefox 浏览器,但不适用于 Google Chrome 或 IE(我收到编译错误)。
JavaScript 中可以在成员名称中使用 @ 符号吗?我可以使用什么解决方法使上述代码可以在所有浏览器中运行?
谢谢
I am using the eBay JavaScript Finding API. The currency id member of the findItemsAdvancedResponse
object is defined as @currencyId
. So I am retrieving this value as:
function _cb_findItemsAdvanced(root) {
var items = root.findItemsAdvancedResponse[0].searchResult[0].item || [];
var html = [];
if (items.length == 0) {
html.push('No Results');
}
for (var i = 0; i < items.length; ++i) {
var item = items[i];
var title = item.title;
var pic = item.galleryURL;
var viewitem = item.viewItemURL;
var price = Number(item.sellingStatus[0].currentPrice[0].`__value__`).toFixed(2);
var currency = ""
var currency = item.sellingStatus[0].currentPrice[0].@currencyId;
if (null != title && null != viewitem) {
html.push('<div class="item-layout5"><table><tr><td><div style="width:102px;overflow:hidden;">');
html.push('<a href="' + viewitem + '" target="_blank" rel="nofollow"><img src="' + pic + '" border= "" alt="' + title + '" /></a></div></td>');
html.push('<td><span class="itemname"><a href="' + viewitem + '">' + title + '</a></span></td></tr>');
html.push('<tr><td><img src="PTMFOG0000000064.gif" alt="" /></td><td><span class="buyprice">' + currency + ' $' + price + '</span></td></tr></table></div>');
}
}
document.getElementById("results").innerHTML = html.join("");
} // End _cb_findItemsByKeywords() function
This works fine for Firefox browsers, but not for Google Chrome or IE (I get a compilation error).
Is using the @ symbol in a member name acceptable in JavaScript? And what workaround can I use so that the above code will work in all browsers?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在 javascript 中,语法
等效于
,即使 'bar' 不是有效的标识符名称,后者也能工作,就像在本例中一样。
In javascript, the syntax
is equivalent to
and the latter works even when 'bar' is not a valid identifier name, as in this case.