jquery
Kiến thức

Chương 2 – jQuery Selectors

Bây giờ bạn có thể thêm style vào stylesheet cho tất cả các dòng của bảng và sử dụng một class=’alt’ cho những dòng chẵn.

.alt {
	background: #dda;
}

td {
	padding: 10px;
}

Cuối cùng chúng ta sẽ viết code jQuery để gắn class vào cho những dòng chẵn của bảng (

).

$(document).ready(function() {
	$('tr:0dd').addClass('alt');
        });

Bạn có thấy code ở trên có điều gì lạ không? Odd tiếng Việt là lẻ và Even là chẵn. Chúng ta nói sẽ tô màu cho dòng chẵn nhưng lại sử dụng :0dd? Thực ra vấn đề ở đây cũng tương tự như :eq() ở trên, bởi vì :0dd và :even sử dụng dạng đánh số từ số 0 như trong JavaScript. Cho nên dòng thứ nhất đếm là số 0 (số chẵn) và dòng thứ hai đếm là 1 (số lẻ). Do đó với dòng code jQuery như trên dưới đây là kết quả chúng ta có được.

jquery

Vấn đề có vẻ như đã được giải quyết ở đây, nhưng nếu bạn có một bảng thứ hai trên cùng một trang thì kết quả lại không như bạn muốn. Ví dụ, dòng cuối cùng của bảng trên có màu cỏ úa thì dòng đầu tiên của bảng kế tiếp sẽ có màu trắng. Có cách để tránh tình trạng này là sử dụng :nth-child() Selector. Selector này có thể lấy tham số là odd, even hoặc chữ số. Nhưng cũng lưu ý bạn là :nth-child() là selector duy nhất của jQuery đánh số theo thứ tự từ 1. Cho nên để đạt được kết quả như mong muốn và nhất quán với nhiều bảng trên trang, chúng ta có đoạn code mới như sau:

$(document).ready(function() { 
$('tr:nth-child(even)').addClass('alt');
}); 

Bây giờ giả sử chúng ta muốn tô đậm đỏ cho cột nào đó có chưa tên chú Bruce Willis thì trước hết bạn phải thêm một class=’red’ vào phần stylesheet và sau đó thì viết code jQuery như sau sử dụng :contains() Selector.

$(document).ready(function() { 
$('tr:nth-child(even)').addClass('alt');
$('td:contains(Bruce Willis)').addClass('red');
});

Bây giờ thì bảng của chúng ta đã tô đậm và in đỏ chú Bruce Willis.

jquery

Tôi cũng phải lưu ý với bạn là :contains() Selector có phân biệt giữa IN HOA và in thường. Cho nên nếu bạn chỉ gõ $(‘td:contains(bruce willis)’) mà không viết hoa thì sẽ không có cột nào được chọn cả.

Phải thừa nhận rằng với ví dụ đơn giản như trên, bạn không cần phải sử dụng jQuery cũng đạt được kết quả như mong muốn. Tuy nhiên, jQuery kết vợi với CSS, là một lựa chọn phù hợp cho kiểu định dạng khi mà nội dung được tạo ra tự động từ CSDL và chúng ta không có khả năng chi phối code HTML cũng như code được xuất ra từ PHP chẳng hạn.

#Form Selector

Khi làm việc với form, những selector của jQuery giúp bạn tiết kiệm thời gian để chọn chỉ những thành phần nào mình muốn. Bảng biểu sau là những selector của jQuery để làm việc với form.

jquery

Cũng giống như những Selector khác, form Selector cũng có thể được kết hợp để cho đối tượng chọn được cụ thể hơn. Ví dụ chúng ta có thể chọn tất cả các nút radio được đánh dấu (chứ không phải hộp kiểm) với $(‘:radio:checked’) hoặc chọn tất cả các trường nhập mật khẩu và trường nhập dữ liệu bị tắt với $(‘:passowrd, :text:disabled’). Cho dù với jQuery Selector, nhưng chúng ta vẫn sử dụng nguyên tắc của CSS để chọn các phần tử cần chọn.

#Phương pháp di chuyển trong DOM

Những jQuery selector vừa được giới thiệu ở trên cho phép chúng ta chọn một tập hợp các phần tử khi chúng ta di chuyển ngang qua hoặc dọc xuống cây DOM và chọn lọc kết quả. Nếu đây là cách duy nhất để chọn các phần tử thì những lựa chọn của chúng ta cũng bị hạn chế khá nhiều (mặc dù trong thực tế những selector đã rất mạnh mẽ đặc biệt là khi mang ra so sánh với cách di chuyển trong DOM truyền thống). Có nhiều trường hợp khi bạn cần phải chọn cha mẹ hoặc ông bà của các phần tử trở nên quan trọng, chính vì vậy phương pháp di chuyển trong DOM được giới thiệu. Với những phương pháp này chúng ta có thể đi lên, đi xuống, ngang dọc hoặc xung quanh cây DOM rất dễ dàng.

Một vài phương pháp có chức năng gần như tương đồng với những người ‘anh em’ Selector ở trên. Như trong ví dụ về định dạng bảng kiểu kẻ sọc ở trên chúng ta thêm class=’alt’ với $(‘tr:0dd’).addClass(‘alt’); cũng có thể được viết lại với phương pháp .filter() như sau:

$('tr').filter(':0dd').addClass('alt');

Trong đa số các trường hợp thì hai cách trên bổ trợ cho nhau. Hơn nữa, đặc biệt là phương pháp .filter() cực kỳ mạnh mẽ ở chỗ nó có thể lấy một hàm làm tham số của nó. Hàm đó cho phép chúng ta tạo ra những phép kiểm phức tạp để xác định xem một thành phần nào đó có nên được giữ lại trong tập hợp kết quả trả về. Nói ví dụ chúng ta muốn thêm một class cho tất cả những đường liên kết ngoài. Jquery không có selector nào có thể tiến hành tác vụ này. Nếu không có hàm trong phương pháp .filter(), chúng ta bắt buộc phải sử dụng vòng lặp để nhảy qua từng thành phần và kiểm tra nó riêng rẽ. Tuy nhiên với những hàm trong phương pháp .filter() sau, chúng ta vẫn có thể dựa vào vòng lặp ẩn của jQuery và giữ cho code của chúng ta gọn gàng.

$('a').filter(function() {
return this.hostname && this.hostname != location.hostname;
}).addClass('external');

Dòng code thứ 2 lọc tập hợp các phần tử <a> với hai tiêu chí sau:
1.Nó phải có thuộc tính href với tên miền (this.hostname). Chúng ta sử dụng phép kiểm này để loại bỏ những liên kết dạng mailto và những thứ tương tự.
2.Tên miền mà nó liên kết tới (this.hostname) không được giống (!=) với tên miền của trang hiện tại (location.hostname).

Nói chính xác hơn thì phương pháp .filter() lặp qua tập hợp những phần tử phù hợp, kiểm tra từng giá trị trả về bằng hàm đã tạo. Nếu hàm trả về là false, thì phần tử đó sẽ bị loại khỏi tập hợp. Còn nếu giá trị trả về là true, thì phần tử đó được giữ lại. Bây giờ chúng ta sẽ xem lại bảng kiểu kẻ sọc và xem xem có thể làm gì với phương pháp di chuyển này.

#Định dạng từng ô cụ thể

Ở ví dụ trên chúng ta đã thêm class=’red’ cho những ô có chữa chữ Bruce Willis. Nếu bây giờ chúng ta cũng muốn định dạng cho ô bên cạnh ô chứa Bruce Willis, chúng ta có thể bắt đầu với Selector mà chúng ta đã tạo, và sau đó chỉ đơn giản nối nó với phương pháp .next().

$(document).ready(function()  {
$('td:contains(Bruce Wiliss)').next().addClass('red');
});

Bảng của bạn sẽ được như sau

jquery

Phương pháp .next() chỉ lựa chọn các phần tử ngay sát cạnh nó. Để tô đỏ đậm cho tất cả các ô đằng sau ô có chưa Bruce Willis, chúng ta có thể sử dụng phương pháp .nextAll().

$(document).ready(function()  {
$('td:contains(Bruce Wiliss)').nextAll().addClass('red');
});

Bên cạnh phương pháp .next() và .nextAll() chúng ta còn có .prev() và prevAll(). Thêm nữa, .siblings() chọn tất cả các phần tử có cùng chung một cấp bậc trên DOM, mà không cần quan tâm đến nó xuất hiện trước hoặc sau phần từ được chọn.
Để bao gồm cả ô ban đầu (là ô có chữa Bruce Willis) và những ô theo sau nó, chúng ta có thể thêm phương pháp .andSelf():

$(document).ready(function()  {
$('td:contains(Bruce Wiliss)').nextAll().andSelf().addClass('red');
});
jquery

Bạn cũng nên biết rằng có vố số những kết hợp của selector và phương pháp di chuyển mà dựa vào đó chúng ta có thể chọn cùng một tập hợp các phần tử. Ví dụ này sẽ cho bạn thấy một cách khác để chọn mỗi một ô trong một dòng mà ô đó có chưa chữ Bruce Willis:

$(document).ready(function() {
	$('td:contains(Bruce Willis)').parent().children().addClass('red');
  });

Ở đây thay vì chúng ta di chuyển theo kiểu ngang hàng, chúng ta di chuyển lên trên một bậc của cây DOM (

) với phương pháp .parent() và sau đó chọn tất cả các ô của dòng bằng phương pháp .children().

jquery

#Kết hợp (chaining)

Phương pháp di chuyển kết hợp như chúng ta vừa khám phá ở trên thể hiện khả năng kết hợp của jQuery. Với jQuery bạn có thể chọn tập hợp các phần tử và thao tác nhiều tác vụ lên chúng, tất cả trên cùng một dòng code. Kiểu kết hợp này không những giữ cho code jQuery được súc tích mà còn tăng khả năng hoạt động của mã. Nhưng để cho dễ đọc hơn, bạn cũng có thể tách ra thành nhiều hàng. Ví dụ một dãy kết hợp các phương pháp có thể được viết trên một dòng như sau:

$('td:contains(Bruce Willis)').parent().find('td:eq(1)').addClass('red').end().find('td:eq(2)').addClass('red');

… hoặc cắt nhỏ ra từng dòng

$('td:contains(Bruce Willis)') // Tìm tất cả các dòng có chứa Bruce Willis
.parent() // Di chuyển lên một tầng
.find('td:eq(1)') // Tìm td với thứ tự là 1 (dòng thứ 2)
.addClass('red') // Thêm class='red'
.end() // quay về với bố mẹ của ô chứa Henry
.find('td:eq(2)') // Tìm tiếp td với thứ tự là 2 (dòng 3)
.addClass('red') // thêm class='red'

Tất nhiên cách di chuyển kiểu như trên là lòng vòng đến mức thừa thãi và không có trong thực tế. Bởi vì có nhiều cách khác đơn giản hơn, trực tiếp hơn. Tuy nhiên nó cũng cho bạn thấy được sự linh hoạt tuyệt vời mà kiểu kết hợp cho phép chúng ta.
Viết code kiểu kết hợp thế này như là nói một tràng trong một hơi không nghỉ. Nó giúp bạn đạt mục tiêu nhanh chóng, nhưng lại khó cho người khác hiểu được. Cho nên tách nó ra và thêm comments có thể giúp bạn tiết kiệm thời gian và công sức sau này nếu phải chỉnh sửa code.

#Hướng tới các thành phần DOM

Mỗi một Selector và hầu hết các phương pháp của jQuery đều trả về một đối tượng jQuery. Đây chính là điều chúng ta luôn mong đợi, bởi vì khả năng tiến hành vòng lặp ẩn và kết hợp nó có thể làm. Nhưng cũng có lúc chúng ta muốn hướng tới một phần tử DOM một cách trực tiếp. Ví dụ, chúng ta muốn sử dụng một tập hợp các phần tử cho một thư viện JavaScript khác. Hoặc chúng ta muốn hướng tới tên thẻ của một phần tử, mà nó lại có sẵn như là một thuộc tính của phần tử DOM. Tuy trường hợp này hiếm khi xảy ra, jQuery có phương pháp .get(). Để hướng tới thành phần DOM đầu tiên chỉ đến bởi một đối tượng jQuery, chúng ta sẽ sử dụng .get(0). Nếu phần tử DOM cần phải nằm trong một vòng lặp, chúng ta sẽ sử dụng .get(index). Như vậy, nếu chúng ta muốn biết tên thẻ của một thành phần với id=’my-element’, chúng ta sẽ viết code như sau:

var myTag = $('#my-element').get(0).tagName;

Để tiện dụng hơn nữa, jQuery cung cấp cách viết tắt cho phương pháp .get(). Thay vì viết như dòng code ở trên, chúng ta có thể sử dụng cặp ngoặc vuông [] ngay đằng sau selector:

var myTag = $('#my-element')[0].tagName;

Không phải là ngẫu nhiên mà cú pháp này nhìn giống như là một array của các phân tử DOM, sử dụng cặp ngoặc vuông như là xé đi lớp vỏ để tới danh sách các nốt, có bao gồm luôn cả index (trong trường hợp này là 0) cũng giống như lôi từng thành phần DOM ra vậy.

#Kết luận

Với những kỹ năng mà chúng ta đã học trong chương này, chúng ta đã có thể định dạng cho tầng một và tầng phụ của một danh sách sử dụng những CSS Selector cơ bản, áp dụng những style khác nhau cho các loại đường liên kết khác nhau sử dụng Attribute Selector, tô mầu khác nhau cho bảng kẻ sọc bằng cách sử dụng jQuery selector như :0dd và :even hoặc Selector mới của CSS là :nth-child(), và cuối cùng là tô đậm đỏ cho từng ô trong bảng bằng cách kết hợp các phương pháp jQuery. Cho đến bây giờ chúng ta sử dụng sự kiện $(document).ready() để thêm class vào tập hợp các phần tử. Trong chương tới, chúng ta sẽ khám phá những cách để thêm class vào những sự kiện người dùng tự tạo.

#Demon Warlock

Tôi được sinh ra ở Việt Nam, nhưng hiện tại đang sống và làm việc tại Mỹ. Ngành tôi học không có liên quan gì đến thiết kế web. Nhưng đây là sở thích từ ngày còn là sinh viên du học, do vậy bây giờ dù cho đang đi làm nhưng tôi vẫn thích dùng thời gian rảnh rỗi của mình để học về thiết kế web. Như các bạn, tôi cũng việc mày mò tự học và khám phá.

# gửi LỬA

Hãy giúp cho tác giả thêm máu lửa và cảm hứng khi sáng tác với 20k

# thảo luận

Muốn giỏi phải học, muốn học thì phải hỏi. Do đó, trong quá trình học hỏi và nghiên cứu, bạn sẽ luôn có những thắc mắc. Chính vì thế, hãy cùng tham gia thảo luận với nhau để tìm ra câu trả lời thích hợp. Bạn có thể thảo luận ngay trong topic này, hoặc tham gia vào cộng đồng Izwebz Group trên Facebook, hay có thể gửi thư riêng cho tác giả “Demon Warlock”.


  • Chi Pham

    Cảm ơn anh DW, nhờ anh mà em biết dùng js cho nhanh trước giờ cứ css từng cái một cho nó thôn quê :)),mong được anh chia sẻ nhiều hơn ạ


  • Đoàn Việt Quân

    Thắc mắc mãi là :even làm được mà sao :0dd ko làm dc thì ra là odd chứ ko fai 0dd . hix hix :D


  • vân

    admin ơi! sao e ko xem được hết img code trong mấy ví dụ vậy ạ


  • nghti

    hay


  • N.Thinh

    Rat bo ich va de hieu. :)) Cam on tac gia


  • thatnghiepnentimviec

    Ad cho em hỏi xí, em mới học nên đọc code 1 vài cái đơn giản, đoạn code sau cho vào trong html thì chạy ok, còn bỏ vào file .js riêng, gọi lại hàm trong file html em thử mà k được, mong a giúp đỡ ( cái này em xem trang này http://www.nitinh.com/2010/03/how-to-create-a-simple-slideshow-using-mootools-jquery/ )

    var currentImage;
    var currentIndex = -1;
    var interval;
    function showImage(index){
    if(index < $(‘#bigPic img’).length){
    var indexImage = $(‘#bigPic img’)[index]
    if(currentImage){
    if(currentImage != indexImage ){
    $(currentImage).css(‘z-index’,2);
    clearTimeout(myTimer);
    $(currentImage).fadeOut(250, function() {
    myTimer = setTimeout(“showNext()”, 3000);
    $(this).css({‘display’:’none’,’z-index’:1})
    });
    }
    }
    $(indexImage).css({‘display’:’block’, ‘opacity’:1});
    currentImage = indexImage;
    currentIndex = index;
    $(‘#thumbs li’).removeClass(‘active’);
    $($(‘#thumbs li’)[index]).addClass(‘active’);
    }
    }

    function showNext(){
    var len = $(‘#bigPic img’).length;
    var next = currentIndex < (len-1) ? currentIndex + 1 : 0;
    showImage(next);
    }

    var myTimer;

    $(document).ready(function() {
    myTimer = setTimeout(“showNext()”, 3000);
    showNext(); //Load first image
    $(‘#thumbs li’).bind(‘click’,function(e){
    var count = $(this).attr(‘rel’);
    showImage(parseInt(count)-1);
    });
    });


  • hai nguyen

    bai viet cua a hay lam


  • pham ngoc tuan

    anh có thể làm 1 video hay cho em cái code về cách làm comment ajax + jquery trong php với


    • Đào Tân

      cái này anh ý làm đã làm trong bộ đĩa IZcms rồi.. bạn timfmaf xem nhé ..hình nh cái này phải muathif phải :D


  • chung

    Chào anh Demon Warlock!!
    Em cũng đang tự thiết kế một trang web dựa theo các bài mà anh dạy về wordpress.Em thấy trang izwebz co một plugin show ra các avatar của các mạng xã hội như facebook twitter… những người like trang của anh.Anh có thể cho em biết plugin đó tên là gì được không anh hoặc anh có thể share vào mail cho em.
    Thank anh rất nhìu.


    • chung

      mail của em là :tranhachunng@gmail.com


  • Hồng Tâm

    Theo mình bạn cần demo code lại trước khi về (href$=.pdf sao mà dc, vì dấu “.” là ký tự đặt biệt bạn ko thể để trong đó!)
    Mình góp ý thôi nhe, bài viết hay.


    • Minh

      Thế theo bạn thì chỗ đó sẽ thay đổi thế nào? Dấu “.” vẫn được hiểu như thường, cậu test thử chưa?


      • thachpham92

        Mình đã test thử theo demo của DW và không hoạt động. Đúng ra là như này mới đúng chứ bạn.
        a[href$=”.pdf”]


        • Nobita

          $(document).ready(function () {
          $(‘#nav > li’).addClass(‘highlight’);
          $(‘#nav li:not(.highlight)’).addClass(‘background’);
          $(‘a[href^=mailto:]’).addClass(‘mailto’);
          $(‘a[href$=.pdf]’).addClass(‘pdflink’);
          $(‘a[href^=http][href*=jquery]’).addClass(‘hyperlink’);
          });

          Chay ngon ma cac pro.


  • http://www.kiemtien-online.info/ Minh Phạm

    Bài học thật sự rất bổ ích. Thanks anh nhiều nhiều!


  • http://cntt.eazy.vn SONGOKU

    Của A Đây : http://www.izwebz.com/featured/gioi-thieu-v-jquery/

    P/S : Ngưỡng Mộ A Thật Chúc A Nhiều Sức Khỏe Nha Để Làm Nhiều Video Hay Nữa ;)


  • Hoang Hiep

    Quá tuyệt vời anh DW ah … chúc anh nhiều sức khỏe …. chục Izwebz ngày càng thành công hơn nữa …


  • hải nam

    thêm dấu ” ” ở sau dấu = nha ,
    ex:
    $(‘a[href^=mailto:]’).addClass(‘mailto’);
    thành
    $(‘a[href^=”mailto:”]’).addClass(‘mailto’);
    gooluck!


  • Nguyễn Mạnh Nguyên

    Em Nghiện anh rồi hi hi


  • nguyễn huy

    từ đoạn định dạng mailto đến hyperlink không chạy được bạn nào giúp mình với


    • http://www.gbitdesign.com DoDuoc

      Theo cái tự fix của mình đoạn code lại như sau:
      $(document).ready(function(){
      $(‘a[href^=mailto]’).addClass(‘mailto’); //bỏ dấu “:”
      $(‘a[href$=pdf]’).addClass(‘pdflink’); //bỏ dấu “.”
      $(‘a[href^=http][href*=jquery]’).addClass(‘hyperlink’);

      });

      Bạn nào có cách nào tốt hơn xin chỉ giáo thêm (^.^). Thanks!


      • Minh

        Mình test thấy vẫn chạy bình thường mà, không cần chỉnh sửa gì cả :)


  • Đăng

    Có bác nào có demo của cái này không gửi cho em xem với, em làm mà không hiểu sao lại không được nhỉ?


    • http://tm.edu.vn Bùi Công Đăng

      Cái Định dạng cho đường liên kết sao mình làm không được các bác nhỉ?
      Các bác giúp em cái này với nhé. http://www.mediafire.com/?s8e5k1dpo5u6idg


  • Nguyễn Văn Hưng

    Cảm ơn anh DW !
    Thật hãnh diện về anh, có những người như anh thì công nghệ nước nhà mới phát triển được !
    izwebz có thể coi là mã nguồn mở cho tất cả mọi người yêu thích code ..ủng họ izwebz.com hi vọng trang web này ngày càng phát triển hơn nữa !


  • http://google.com TRần Nguyên Tỉnh

    A ơi sao không có chương 1? cho e cái link chương 1 đi.


    • pham quy tiem

      chương 1 là giới thiệu jquery đó anh!


  • Nguyen Truong Son

    Chào anh DW !!!!
    Anh có thể share cho mail cho em chương 1 của jQuery được không anh DW…
    Em cảm ơn trước….

var disqus_url = ‘https://web.archive.org/web/20150627025431/https://www.izwebz.com/jquery/jquery-selectors/’;
var disqus_identifier = ‘2256 http://www.izwebz.com/?p=2256’;
var disqus_container_id = ‘disqus_thread’;
var disqus_shortname = ‘izwebz’;
var disqus_title = “Chương 2 – jQuery Selectors”;
var disqus_config_custom = window.disqus_config;
var disqus_config = function () {
/*
All currently supported events:
onReady: fires when everything is ready,
onNewComment: fires when a new comment is posted,
onIdentify: fires when user is authenticated
*/

this.language = ”;
this.callbacks.onReady.push(function () {

// sync comments in the background so we don’t block the page
var script = document.createElement(‘script’);
script.async = true;
script.src = ‘?cf_action=sync_comments&post_id=2256’;

var firstScript = document.getElementsByTagName(‘script’)[0];
firstScript.parentNode.insertBefore(script, firstScript);
});

if (disqus_config_custom) {
disqus_config_custom.call(this);
}
};

(function() {
var dsq = document.createElement(‘script’); dsq.type = ‘text/javascript’;
dsq.async = true;
dsq.src = ‘//’ + disqus_shortname + ‘.disqus.com/embed.js’;
(document.getElementsByTagName(‘head’)[0] || document.getElementsByTagName(‘body’)[0]).appendChild(dsq);
})();

Izwebz Logo

Izwebz.com được thành lập vào năm 2008, là một trong những website tiên phong trong việc giảng dạy và đào tạo trong lĩnh vực thiết kế và lập trình web miễn phí tại Việt Nam. Với phương châm Let’s do together, Izwebz luôn cho ra những video hướng dẫn học trực quan nhất cho người xem.

Quy định sử dụng

  • – Quy định được đặt ra không phải cho có, bạn phải mình tuân thủ những gì nêu bên dưới đây
  • – Bạn không được tự ý copy và phát hành lại nội dung của izwebz nếu chưa được sự đồng ý của tôi.
  • – Biết tôn trọng và cư xử hòa nhã với mọi người
  • – Không “bóc tem” bài viết.
  • – Izwebz được quyền xóa những comment nào không phù hợp với nội dung của trang web

Trao đổi liên kết


#

// <![CDATA[
var disqus_shortname = 'izwebz';
(function () {
var nodes = document.getElementsByTagName('span');
for (var i = 0, url; i

(function(){
var corecss = document.createElement(‘link’);
var themecss = document.createElement(‘link’);
var corecssurl = “https://web.archive.org/web/20150627025431/https://www.izwebz.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/styles/shCore.css?ver=3.0.9b”;
if ( corecss.setAttribute ) {
corecss.setAttribute( “rel”, “stylesheet” );
corecss.setAttribute( “type”, “text/css” );
corecss.setAttribute( “href”, corecssurl );
} else {
corecss.rel = “stylesheet”;
corecss.href = corecssurl;
}
document.getElementsByTagName(“head”)[0].insertBefore( corecss, document.getElementById(“syntaxhighlighteranchor”) );
var themecssurl = “https://web.archive.org/web/20150627025431/https://www.izwebz.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/styles/shThemeRDark.css?ver=3.0.9b”;
if ( themecss.setAttribute ) {
themecss.setAttribute( “rel”, “stylesheet” );
themecss.setAttribute( “type”, “text/css” );
themecss.setAttribute( “href”, themecssurl );
} else {
themecss.rel = “stylesheet”;
themecss.href = themecssurl;
}
//document.getElementById(“syntaxhighlighteranchor”).appendChild(themecss);
document.getElementsByTagName(“head”)[0].insertBefore( themecss, document.getElementById(“syntaxhighlighteranchor”) );
})();
SyntaxHighlighter.config.strings.expandSource = ‘+ expand source’;
SyntaxHighlighter.config.strings.help = ‘?’;
SyntaxHighlighter.config.strings.alert = ‘SyntaxHighlighternn’;
SyntaxHighlighter.config.strings.noBrush = ‘Can’t find brush for: ‘;
SyntaxHighlighter.config.strings.brushNotHtmlScript = ‘Brush wasn’t configured for html-script option: ‘;
SyntaxHighlighter.defaults[‘pad-line-numbers’] = false;
SyntaxHighlighter.defaults[‘toolbar’] = false;
SyntaxHighlighter.defaults[‘wrap-lines’] = false;
SyntaxHighlighter.all();

/* */

/* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
var disqus_shortname = ‘izwebz’; // required: replace example with your forum shortname

/* * * DON’T EDIT BELOW THIS LINE * * */
(function () {
var s = document.createElement(‘script’); s.async = true;
s.type = ‘text/javascript’;
s.src = ‘https://’ + disqus_shortname + ‘.disqus.com/count.js’;
(document.getElementsByTagName(‘HEAD’)[0] || document.getElementsByTagName(‘BODY’)[0]).appendChild(s);
}());

Related posts

PHP Căn Bản – Bài 7 – Phần 2

admin

Tạo địa chỉ mail với tên miền riêng

admin

Nguồn của tôi – Nguồn thiết kế

admin

Leave a Comment