Перебор все ссылки и получить титул родителей следующим образом: jsfiddle
$(".3 a").each(function(){
var $parent = $(this).closest(".1"),
title = $parent.attr("title"),
link = "/" + title + "/DispForm.aspx?ID=1";
$(this).attr("href", link);
});
Это, похоже, отлично подходит для следующих html:
<div class="1" style="" title="SomeText1">
<div class="2">
<div class="3">
<a target="_blank" href="/NeedToChange/DispForm.aspx?ID=1">Link 1</a>
</div>
</div>
</div>
<div class="1" style="" title="SomeText2">
<div class="2">
<div class="3">
<a target="_blank" href="/NeedToChange/DispForm.aspx?ID=1">Link 2</a>
</div>
</div>
</div>
Извините, что увидел название с пространством только сейчас. Будет искать обновление.
обновление 1:
как Roko C. Buljan упомянули вы, вероятно, следует разделить заголовок в массив и получить первый элемент этого.
$('.1').each(function(){
var title = $(this).attr("title"),
clTitle = title.split(" ")[0];
var $link = $(this).find(".3 a"),
href = $link.attr("href"),
newHref = href.replace("NeedToChange", clTitle);
if(typeof $(this).attr('title') !== 'undefined') {
$link.attr("href", newHref);
}
});
обновлена скрипку: jsfiddle
Мне очень жаль, я не имею в виду вратаря это как то – suizzak
Нет проблем, к счастью, ваши изменения были незначительными. Иногда пользователи делают небольшое редактирование, которое кардинально меняет результат ответа ... Все хорошо :) –