在jQuery中添加类以锚定

时间:2014-01-03 16:13:46

标签: javascript

是否可以在下面的代码中向锚添加一个类?因为我与其他锚点有冲突......

function SelectText(element) {
  var doc = document;
  var text = doc.getElementById(element);    
  if (doc.body.createTextRange) {
    var range = document.body.createTextRange();
    range.moveToElementText(text);
    range.select();
  } else if (window.getSelection) {
    var selection = window.getSelection();
    var range = document.createRange();
    range.selectNodeContents(text);
    selection.removeAllRanges();
    selection.addRange(range);
  }
}


$( document ).ready(function() {
  $('a').click(function() {
    SelectText( $(this).attr("rel") );
  });
})

修改 我想捕获代码块中的所有代码并使用rel属性。 我使用这个php行:

$output ='<br /><br /><a rel="highlight'.$element_id.'" class="selectable">[Select All]</a>'; // assign unique ID to rel attribute

代码所在的div具有相同的唯一ID,因此我使用rel来捕获代码。 但不知何故,它给我一个其他锚点的问题,它们不再正常工作。所以我想:如果我在锚中添加一个类,它可能只会监听具有该特定类名的a

2 个答案:

答案 0 :(得分:1)

使用$(this).addClass()。这是被点击的元素。

$(document).ready(function() {
    $('a').click(function() {
        $(this).addClass('selectable');
    }
}

http://api.jquery.com/addclass/

或者,如果您所说的click处理程序仅适用于aselectable标记,您可以执行以下操作:

$(document).ready(function() {
    $('a.selectable').click(function() {
        SelectText( $(this).attr("rel") );
    }
}

答案 1 :(得分:0)

您需要为要添加类的锚添加ID,然后使用jquery,您可以使用.addClass() - http://api.jquery.com/addclass/

$( "#yourAnchorID" ).addClass( "myClass yourClass" );