タグ

JavaScriptとHTMLに関するdenkenのブックマーク (21)

  • 勝手に添削: Selection内のHTML Textをいい感じに取得する: Days on the Moon

    というわけでやってまいりましたこのコーナー! 日のお題は「Selection内のHTML Textをいい感じに取得する - 枕を欹てて聴く」でございます。選択範囲のHTMLソースを抜き出すというやつですね。では早速いってみましょう! if(src.focusNode){ // selection まずは HTML5 テキスト選択 API の Selection オブジェクトが登場! 以後これに対する操作が続きます。しかしこの Slection オブジェクト、getRangeAt メソッドを使うとなんと選択範囲に対応する DOM 2 Traversal and Range の Range オブジェクトが取れちゃうんです! // common parent node search (以下 21 行省略) それ Range#commonAncestorContainer で取れるよ! // c

    denken
    denken 2010/09/11
    Rangeで選択範囲のHTMLを取得
  • 要素が画面上に見えているかどうかを調べる - by edvakf in hatena

    document.elementFromPoint という便利な関数を知ったので、今作っている Chrome 用 Migemo ページ内検索で使ってみた。 これが困ったことに、ブラウザごとにかなり挙動が違うのだけど、来の動作はこんな感じらしい。 待望の document.elementFromPoint が Firefox 3.0a8pre にて実装された。仕様は nsIDOMNSDocument.idl に詳しく書いてあるが、おおよそ以下の通りである。 HTML, XUL どちらの document に対しても使用可能 document の左上を (0, 0) とし、位置 (x, y) にある実際に見えている要素を取得する 同一の document 内に存在する要素のみ取得可能。例えばインナーフレーム内の document 内に存在する要素は取得できず、代わりに iframe 要素を返

    要素が画面上に見えているかどうかを調べる - by edvakf in hatena
    denken
    denken 2010/02/11
    document.elementFromPoint
  • Dottoro Web Reference

    The Dottoro Web Reference was created to promote the development of cross-browser web pages on all platforms. With this in view, Dottoro offers detailed language descriptions, browser support information, real life examples and where necessary, cross-browser solutions in CSS, HTML and JavaScript languages. We hope this will help you create modern and attractive websites. Complete HTML, CSS and Jav

    denken
    denken 2009/12/27
    JavaScriptやCSSのブラウザ対応などがいろいろ網羅されてる
  • HTMLDocument の動的な作成: Days on the Moon

    ブラウザ上で、JavaScript を使って HTML のソースから HTML 文書を生成するのに、どんな方法があるのか調べました。なお、以下のスクリプトは HTML 文書上で実行することが前提です。 表の見方 XSLT の HTML 出力 createHTMLDocument メソッド createDocument メソッド createDocument メソッドと名前空間の指定 createDocument メソッドと文書型宣言の指定 createDocument メソッドと文書型宣言及び名前空間の指定 cloneNode メソッド iframe 要素 ActiveXObject CID からの作成 まとめ 表の見方 以下の表において、各項目の意味は次の通りです。 doc HTML 文書を作成できれば○、XML 文書を作成できれば△、それ以外なら×です。HTML 文書かどうかは、cre

  • メソッドチェーンを途切ることなく HTML タグを組み立てる jQuery Tag プラグイン - DOM Manipulation - Postal Search Ajax API with jQuery - Postal Search APIs & Solutions

    jQuery Tag プラグインは jQuery のメソッドチェーンを途切ることなく、HTML タグを組み立てるためのプラグインです。HTML タグの生成と追加をスタックで操作することで、メソッドチェーンを崩さずに HTML タグを組み立て続けることができます。 スタックの操作は jQuery 自体が持つスタックの仕組みを利用しています。jQuery は pushStack メソッドで現在のインスタンスをスタックに積み、end メソッドで直前のインスタンスに戻すことができます。 この特性を利用して、tag メソッドで HTML タグを生成して pushStack メソッドでスタックに積みます。gat メソッドで end メソッドでスタックから戻し、HTML タグを追加します。gat メソッドの名前は tag メソッドを逆に読んだものです。戻すや反対という意味を込めています。 また $.ta

    denken
    denken 2009/06/17
    いままで配列につっこんでjoinしてたりしてたのでこれはいい
  • いま起きているWeb標準の進化、HTML5、CSS3、JavaScript 2.0

    が大型連休に入る少し前の4月23日、W3CはHTML5の新しいドラフトを公開しました。いつも最新のWeb標準化動向を伝えてくれるWeb標準ブログのエントリ「Last Callに向け進むHTML5 | Web標準Blog | ミツエーリンクス」によると、今回のドラフトから仕様書に大きく手が加わり、Webサイトを作る人向け(制作者に関係する要件)と、Webブラウザを作る人向け(実装要件についての要件)ごとに見やすくなるようなスタイルシートが用意されたとのこと。 これまでも何度かこのブログでは、HTML5やJavaScript 2.0などのWeb標準の動向を書いてきましたが、今回は分かりやすいようにその動きをまとめてみました。 HTMLHTML4でいったん進化が終了し、それ以後はXHTMLで進化していくことになっていました。しかし実際にはXHTMLは期待されたほど普及せず、XHTMLによっ

    いま起きているWeb標準の進化、HTML5、CSS3、JavaScript 2.0
  • JavaScriptでHTMLをダイナミックに書き換える 前編

    もともとは存在しなかったタグ要素を新たに追加したり、変更、削除するテクニックを学ぶ。こうした処理ができるのはDOMならではの魅力だ。 旧来のDHTMLの手法では、JavaScriptから操作できるHTML要素には限りがありましたが、DOMでは、HTML上のありとあらゆる要素を自由自在に読み取ったり、書き換えることができるようになります。連載では、主にDOM Level 1で規定されている手法を使い、JavaScriptでどのようにHTML上の要素へアクセスするのか、そして、それをどうやって書き換えるのかを詳しく解説します。これにより、JavaScriptからHTML要素を手に取るように操れるようになります。 DOMスクリプティングでは、HTMLJavaScriptから自由自在に書き換えられる点が大きな魅力です。これまで、HTMLに存在する要素の参照方法や属性の扱い方を学んできましたが、

    JavaScriptでHTMLをダイナミックに書き換える 前編
    denken
    denken 2008/07/03
    「このHTMLは先ほどのサンプルとまったく同じですが、このPタグの中に"<h1>こんにちは</h1>"というタグを挿入してみましょう。」
  • IE の innerHTML や appendChild で要素が挿入された瞬間を取得する方法 - IT戦記

    要素が挿入された瞬間を取得する 今までは出来ないと思っていたのですが、今日いろいろ試していて出来る方法が分かりました。 ですので、ちょっと紹介したいと思います。今のところアイデアなので、実用性は?です。 方法 HTML に以下の style 要素を挿入することで実現することができます。 <style type="text/css"> * { display: expression(function() { if (!this.__mark) { this.__mark = true; alert('inserted node: ' + this.tagName); } return ''; }.apply(this)); } </style> 実際に例を見てみましょう http://amachang.art-code.org/ieexpression/000.html <!DOCTYPE

    IE の innerHTML や appendChild で要素が挿入された瞬間を取得する方法 - IT戦記
  • lockエラー | 月額200円からのレンタルサーバー JSN

    まずは最近知って便利だと思ったCSSの小技をひとつ。 文章の最後に、「※(米印)」などで注釈を入れたいときに、CSSのみで行の開始位置を揃えるのにすごくシンプルなやり方がこれ。 .note { padding-left:1em; text-indent:-1em; } <p class=”note”>※米印を使う場合はこいつが便利。<br /> 改行してもこの通り。ちゃんと開始位置が揃ってる。</p> 「padding-left : 1em;」でまず1文字分右に動かして、「text-indent : -1em;」で最初の行だけ1文字分左に出す、ということらしいです。これ考えた人はえらいっすねぇ。 他には開始位置を揃えるいわゆる「ぶら下げ」をCSSでやる場合、<div>タグの入れ子を使ってもいいが、<dl><dt><dd>の定義型リストを使うのがおすすめ。Definition Listの略で

    denken
    denken 2008/02/16
    text-indentの値をprototype.jsで動的に指定するTips。jQueryでもできそうね
  • セクション内容の参照について (agenda)

    div2 が認識可能であるか、XHTML で Pre-HTML 的に <div class="div2"> といった感じでマークアップしていれば、var div2 = document.getElementById('h-7.5').nextSibling; といった感じで id="h-7.5" な属性を持つ h2 要素の次の要素として div2 に相当する要素が取得でき、ここだけユーザに提供する、といった事が簡単に行えます。 Hack Or Die 2007/12 - Ancient libraryより といった感じ、というわけでこれでは殆どのケースでdiv2相当のdiv要素を参照することはできない。これで参照できるのは、h2の終了タグとdivの開始タグが隣接していることが分かっている場合だけだ。普通はソース整形のためのテキストノードになってしまう場合が多いだろう。 // 見出し要素とd

  • フロントエンド系(XHTML・CSS・JavaScript・XML)のチートシート

    (X)HTMLCSSJavaScript、XMLなどのサイト制作のフロントエンド系のチートシートのまとめです。 各チートシートのリンクは、下記の「チートシートのポータルサイト」より収集しました。 (X)HTMLのチートシート CSSのチートシート JavaScriptのチートシート JavaScritpt ライブラリのチートシート XMLのチートシート チートシートのポータルサイト (X)HTMLのチートシート XHTML Basic: children - parents XHTML Basic: elements - attributes XHTML Strict: children - parents XHTML Strict: elements - attributes HTML Cheat Sheet HTML Quick Reference(PDF) XHTML Cheat

    フロントエンド系(XHTML・CSS・JavaScript・XML)のチートシート
  • ウノウラボ Unoh Labs: JavaScriptを使わないスターレイティングの作り方

    こんにちわ、山下です。 Amazonなどで使われているような商品を☆の数で評価するスターレイティングというものがあります。今回は、CSS The Star Matrix Pre-loadedに紹介されている記事を参考に、その作り方を簡単に紹介しようと思います。 1.画像を用意する まず次のような1枚の画像を用意します。16×16ピクセルの☆が、横に5個、縦に11個並んでいて、下に向かうに従って色の付いている☆の数が増えているのがポイントです。 2.HTMLを書く HTMLはとてもシンプルで、ULリストを使います。 <ul class="rating onestar"> <li class="one"><a href="#" title="1 Star">1</a></li> <li class="two"><a href="#" title="2 Stars">2</a></li> <l

    denken
    denken 2007/08/09
    これが最近話題の「CSS脳」の元ネタですか? 新しい概念を既存のHTMLのどの要素で表現するかは思案のしどころですね。
  • js-html - JavaScriptを用いたHTMLの省略記法 - Personnel

    次のHTML文書の断片をDOM APIを利用して生成してみます: <div class="container" id="foo"> <h2>だいあろぐ</h2> <label> <input type="button" onclick="alert(true)" /> </label> </div> 実際にやってみると次のようになります(一例)。 var div = document.createElement('DIV'); var h2 = document.createElement('H2'); h2.appendChild(document.createTextNode('だいあろぐ')); div.appendChild(h2); var label = document.createElement('LABEL'); var input = docu

  • 自動ログイン用HTML文書 - パソコン遊戯

    はじめに ここで紹介しているHTML文書は、ログインが必要なサイトへアクセスする際にIDやパスワードを入力する手間を省いてしまおうという横着者のために存在しています。横着したい人には多少役に立つはずです。 しかしながら、HTML文書のソースを覗かれるとIDやパスワードが一発でバレてしまうという危険性を孕んでいます。ID/パスワードの管理まで横着することのないようにお願いいたします。 複数の方が利用するパソコンへの導入はオススメできません。というか、導入しないのが身のためです。 利用方法 テキストエディタ(メモ帳等)を起動し、各HTML文書をコピーアンドペーストします。 強調部分(IDとパスワード)をご自分のものに書き換えて名前を付けて保存します。 あとはそのファイルを実行(ダブルクリック)すれば、標準ブラウザが開いて該当サイトにログインした状態でアクセスできます。 「お気に入り」やリンクバ

  • d.aql - scriptタグの中にJavaScriptを書く正しい方法

    XHTMLでCDATA区間を使う。以上。 経緯 HTML4のscriptタグでJavaScriptをちょろっと書く時、中にHTMLタグがあるとダメという話が発端である。例えば、以下のようなのがダメだ。 <script type="text/javascript"> document.write('<p><a href="http://www.hikoboshi.org">hikoboshi.org</a></p>'); </script>ちなみに、ブラウザで動かせば多分動く。(試してないけど。)じゃあ何がダメかというと、HTMLの仕様的に。ちなみにこういう書き方をすると、多分HTML4でもXHTML1でもダメだと思われ。 そんな話をきっかけに、いろいろ調べた。 何故ダメか まずはHTML4のDTDを調べる。(別にstrictを選ばなくても良いんだけどとりあえず。) http://www.w

    d.aql - scriptタグの中にJavaScriptを書く正しい方法
    denken
    denken 2006/06/17
    ていうか別ファイルにしてlink要素から読み出すのが一番いいよね。
  • 我的春秋: JavaScript ソースが HTML から消える日

    [2006-06-10 付記]このエントリーは、2006-01-05 時点のもので情報が古くなってます。現時点で把握している最新情報を「続 JavaScript ソースが HTML から消える日」にアップしましたので、あわせてご参照ください。 Behaviour.js ― JavaScript ソースを (X)HTML から完全分離できるライブラリ 昨日、職場の同僚の人がたまたま見つけた JavaScript ライブラリを教えていただたんですけど、これがもうびっくり!なんと、このライブラリがあれば、イベントハンドラーも含めて JavaScript ソースが (X)HTML の body 内から、ほぼ完全に分離できてしまいます! しかも、HTML 内で JavaScript 関数を適用する場所は、なんと JavaScript ソース内に CSS セレクタを書き込むことで指定!あまり日では取

    我的春秋: JavaScript ソースが HTML から消える日
    denken
    denken 2006/06/10
    最初、HTMLを全部JavaScriptで生成するぜガハハという話かと誤読した
  • テーブルをJavascriptで自動的に見やすくする:phpspot開発日誌

    Automatic colored rows - Example for BiteSize Standards テーブルの背景って次のイメージのように行ごとに交互に色分けされていると見やすいですね。 かといって、サーバサイドでアイテムを回して、1個1個設定するのも結構面倒だったりします。 リンク先のサンプルでは、JavaScriptを使って、trエレメントを探索し、交互にクラスを割り当てていくことで、自動でテーブルに色をつけてるようです。 これで、テーブルはシンプルにHTMLでコーディングでき、サーバサイドの技術なしで見やすいテーブルが作成できますね。

    denken
    denken 2006/04/26
    XSLTだと<xsl:template match="tr[position() mod 2]">~</xsl;template>かなー
  • hori-uchi.com: _blankを使わないで別ウィンドウを開くにはre

    はてなブックマークをみていたら、気になるエントリーを発見。 [戯] target="_blank" を使わないで新しいウィンドウでリンクを開く方法 target="_blank"という書き方がXHTML 1.1 や XHTML Basicに準拠していないので、これらに準拠するようにしつつ、別ウィンドウで開くにはどうすればよいかという話です。 別ウィンドウで開くにはJavaScriptを使えってのが推奨される方法なんですが、onclickを使って定義するのはめんどうということで、この記事では、aタグにclass="popup"という属性を与えておけば、JavaScriptで別ウィンドウを開くということをしています。 この件については友人HTMLCSSマスターなkawachi君と話したことがあって、そのときは、下のエントリで紹介されているrel="external"という方法を使うのがいい

    denken
    denken 2006/03/17
    「target="_blank"という書き方がXHTML 1.1 や XHTML Basicに準拠していないので、これらに準拠するようにしつつ、別ウィンドウで開くにはどうすればよいかという話です。」 ←ソリューション:Transitional
  • hxxk.jp - Transitional DTD じゃダメなのかなあ

    記事データ 投稿者 望月真琴 投稿日時 2006-03-15T22:56+09:00 タグ DTD Firefox HTML JavaScript デザイン ユーザビリティ 概要 target 属性を使って、 Transitional DTD を宣言するのが最もスマートな解だと思います。 リプライ 2 件のリプライがあります。 そもそも発想の順番が違うような…… はてなブックマーク - 最近の人気エントリー経由で [戯] target="_blank" を使わないで新しいウィンドウでリンクを開く方法と hori-uchi.com: _blankを使わないで別ウィンドウを開くにはrel="external"を使うのが美しいと思う。 window.open を使った前者はともかく ( これはこれでバッドノウハウな気がしますけど ) 、後者は HTML ソース中に記述していないだけで、結局は t

    denken
    denken 2006/03/17
    同意。Strict宣言された文章は文字通りストリクトであるべき。
  • web.paulownia.jp - ロールオーバーのオブジェクト指向的実装

    Java等のオブジェクト指向はクラスベースのオブジェクト指向と呼ばれる。一方、JavaScriptはプロトタイプベース、あるいはインスタンスベースオブジェクト指向と呼ばれる。 クラスベースは、まずクラスを定義し、クラスを型とするインスタンスを作成することでプログラミングする。プロトタイプベースによるオブジェクト指向では、クラスの定義は必須ではなく場合によってはクラスという概念自体が存在しない。既存のオブジェクトのクローンとして新しいオブジェクトを作成し、そのオブジェクトに独自の性質を付加してプログラミングする。 JavaScriptのオブジェクトの性質は動的に変更可能。Java等では一度決定したオブジェクトの振る舞いは変更できないが、JavaScriptでは実行中の任意の場所でメソッドの動作を変更したり、新しく追加したり、削除したりすることができる。