HTML源代码,我希望从中获取“完整”值:
<li title="child-.11 02 C" class="dragable second" value="160|.11 02 C" style="">.11 02 C Dach Rohrgerüst 0,7m</li>
这个js代码不是我在列表元素上所期望的,而是在selectbox选项上运行:
$(document).on('click','select#ArtikelNr, ul#dragableElements li.selected',function() {
$('.product-txt').remove('');
// Get ID Example [FIRST IDENTIFIER]|[[FIRST IDENTIFIER]
var prodNr = $(this).val();
console.log(prodNr)
它只给了我“160”。
即使我将分隔符更改为[/]或[ - ]或[],问题仍然相同。我的第一个想法是修剪空白和其他非alphnum字符,但我也没有运气。
使用: jQuery的1.8.3.min.js 的jquery-UI-1.9.2.custom.min.js
有什么想法吗?
最善良 ELEX
答案 0 :(得分:6)
您无法使用value
li
元素来包含除数字以外的任何内容。
引自moz-docs:
此属性唯一允许的值是一个数字,即使列表显示为罗马数字或字母。
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/li
因此,您不应使用此属性来存储数据。
如果您愿意,可以改为使用data-attribute
:
<li title="child-.11 02 C" class="dragable second" data-value="160|.11 02 C">.11 02 C Dach Rohrgerüst 0,7m</li>
要获取该值,请使用:
$(this).data('value');
答案 1 :(得分:1)
val
不适用于li
使用
var prodNr = $(this).attr('value');
<强>替代强>
您可以使用data
之类的,
<li title="child-.11 02 C" data-value="160|.11 02 C" style="">.11 02 C Dach Rohrgerüst 0,7m</li>
<强> JS 强>
var prodNr = $(this).data('value');