JQuery код в простом Javascript - PullRequest
0 голосов
/ 20 марта 2009

Как я могу написать этот код jQuery в простом Javascript?

Я не могу использовать jQuery там, где это будет использоваться.

$(function(){
$("td#dark[height='260']").append("<a href='http://www.website.com'></a>");
});

Ответы [ 2 ]

10 голосов
/ 20 марта 2009

Попробуйте это:

var elem = document.getElementById("dark");  // #dark
if (elem && elem.nodeName == "TD" && elem.height == 260) {  // td#dark[height='260']
    var newElem = document.createElement("a");
    newElem.href = "http://www.example.com";
    elem.appendChild(newElem);
}

А для вашего нестандартного документа используется один и тот же идентификатор для нескольких элементов:

var elems = document.getElementsByTagName("td");
for (var i=0; i<elems.length; i++) {
    var elem = elems[i];
    if (elem.id == "dark" && elem.height == 260) {  // td#dark[height='260']
        var newElem = document.createElement("a");
        newElem.href = "http://www.example.com";
        elem.appendChild(newElem);
    }
}
0 голосов
/ 20 марта 2009

но проблема в том, что сайт очень нестандартный и использует несколько темных идентификаторов для тегов td и table. Любые идеи о том, как я могу заставить это работать? - mofle

Вам нужно будет перебрать каждый элемент HTML внутри тела (xpath будет идеальным), получить тег, посмотреть, равен ли он td, и если да, прочитать элемент height и посмотреть, равен ли он 260. Это потому, что .getElementById будет возвращать только один результат, так как должен присутствовать только один идентификатор, но, как вы говорите, веб-сайт нестандартный.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...