如何获得包含一些文本的div

时间:2016-03-30 17:47:18

标签: javascript jquery html

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

2 个答案:

答案 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'));
}});

jsfiddle example