btn.attr("title") is undefined

btn.attr("title") is undefined

本文关键字:quot is undefined title btn attr      更新时间:2023-09-26

在我解决了jQuery和Prototype之间的命名空间问题之后,在这里友好社区的帮助下,我又遇到了将Svg Edit(或)集成到Magento中的另一个问题。现在我在firebug中得到一个新的错误消息:btn.attr("title") is undefined,虽然变量有多个返回值,我看不出为什么这不起作用。这个错误发生在svg-editor.js文件的第4137行。任何帮助都太好了。提前感谢!

第4137行:

var new_title = btn.attr('title').split('[')[0] + '[' + keyval + ']';
编辑:

这就是我得到的。也许是最后一个值产生了错误?:

alert(btn.attr('title'));
// Select Tool [1]
// Pencil Tool [2]
// Line Tool [3]
// Rectangle
// Square
// Ellipse
// Circle
// Path Tool [7]
// Text Tool [6]
// Image Tool [8]
// Zoom Tool [Ctrl+Up/Down]
// undefined

将代码更改为@epascarello的提案后,我得到了比以前更多的值。菜单项好像少了一些:

alert(btn.prop('title'));
  // ...
  // undefined
  // undefined
  // Edit Source [U]
  // Wireframe Mode [F]
  // undefined
  // Delete Element [Delete/Backspace]
  // Move to Top [Shift+Up]
  // Move to Bottom [Shift+Down]
  // Undo [Z]
  // Redo [Y]
  // Clone Element [C]
  // Group Elements [G]
  // undefined

保持注意,但检查它是否定义。如果不是,请跳过:

if(opts.sel && !opts.hidekey && btn.attr('title')) {
  var new_title = btn.attr('title').split('[')[0] + '[' + keyval + ']';
  ...

用prop()代替attr()

var btn = $("#myButton");
btn.prop("title");