2014-09-03 54 views
-1

我有我的代码一些意见,这样的:JS,评论之间标明内容

<!-- DebugDataTemplateBegin {"template":"one"} --> 
<div class="row notices" id="admin"> 
    comment One content 
</div> 
<!-- DebugDataTemplateEnd {"template":"one"} --> 

<!-- DebugDataTemplateBegin {"template":"two"} --> 
<div class="row notices" id="admin"> 
    comment Two content 
</div> 
<!-- DebugDataTemplateEnd {"template":"two"} --> 

,我有锚这样的:

<a href="#"> one </a> <br/> 
<a href="#"> two </a> 

这些链接的内容对应的评论“模板'元素,我想要实现的是当用户将鼠标悬停在任何这些链接上时,它的对应内容(评论之间)将突出显示。

我开始了一个简单的jsfiddle例子http://jsfiddle.net/Banzay/md79aaby/,但不知道这是否可能。

对不起,如果我没有解释得很好。

Youssef

+0

所以基本上你希望能够选择在jQuery的意见? http://stackoverflow.com/questions/1623734/selecting-html-comments-with-jquery – 2014-09-03 14:45:05

回答

1

清理了我的上面的答案,并将其删除。

你可能不得不改变你正在寻找评论的父母。正则表达式可以使用一些爱,但这是一般的想法。

HTML:

<!-- DebugDataTemplateBegin {"template":"one"} --> 
    <div class="row notices" id="admin">comment One content</div> 
<!-- DebugDataTemplateEnd {"template":"one"} --> 
<!-- DebugDataTemplateBegin {"template":"two"} --> 
    <div class="row notices" id="admin">comment Two content</div> 
<!-- DebugDataTemplateEnd {"template":"two"} --> 
<a href="#one"> one </a> 
<br/> 
<a href="#two"> two </a> 

JS:

var getComment = function (templateName) { 
    return $("body").contents().filter(function() { 
     return this.nodeType == 8 && this.nodeValue.match(RegExp('DebugDataTemplateBegin.*'+templateName)); 
    }) 
} 

$('a').hover(function() { 
    var templateName = this.href.split('#')[1]; 
    var comment = getComment(templateName); 
    var element = $(comment).next(); 
    element.toggleClass('highlight'); 
}) 

http://jsfiddle.net/md79aaby/18/

+0

你真棒,非常感谢你,像一个魅力:) – Youssef 2014-09-03 15:29:17

+0

嗨对不起再次打扰你,我还有一件事,如果一个div没有结束标记,你将如何获得内容,请看看这里:http://jsfiddle.net/Banzay/md79aaby/21/,正如你现在看到的,当我把它们全部改为红色,如果我试图徘徊在两三无所幸 – Youssef 2014-09-03 17:31:09