HTML:
<div class="linkL 01 mp3/01.mp3 imgT/03.jpg">lorem1 - part1</div>
<div class="linkL 02 mp3/02.mp3 imgT/03.jpg">lorem2 - part2</div>
<div class="linkL 03 mp3/03.mp3 imgT/03.jpg">lorem3 - part3</div>
使用Javascript:
var numera = window.location.hash;
var numera = numera.replace("#","");
console.log(numera); // `part3`
var author = $(".linkL:contains(numera)").html().split(" - ")[0];
我希望获得lorem3
但这就是控制台所说的:
index.js:37 Uncaught TypeError: Cannot read property 'split' of undefined
答案 0 :(得分:5)
您连接值的方式是错误的,
var author = $(".linkL:contains(" + numera + ")").text().split(" - ")[0];
您必须使用+
连接变量,如果您不知道该变量名称将被视为纯字符串。它所拥有的价值不会被连接起来。
您使用mp3/01.mp3
的班级名称无效。有效的班级名称应遵循this规则。
答案 1 :(得分:1)
如果你需要找到lorem3,那么你可以遍历每个div来寻找它。
$(".linkL:contains(" + numera + ")").each(function() {
var author = $(this).text().split(" - ")[0];
if (author == "lorem3") {
$(".result").text($(this).attr('class'));
}});