0

以下の作業コードは、head からすべてのメタ タグを取得し、Web ページの div 内にテキストを表示します。キーアップで、入力テキスト val をコピーしてヘッド メタ ディスクリプションを置き換え、さらに div を更新して、テキストがフロントエンドから正しく入力されていることを確認したいと思います。

http://jsfiddle.net/michelm/JCWgA/

私が問題を抱えている2つのこと:

  1. 入力テキストボックスの新しい値をコピーし、メタ名の「コンテンツ」を置き換えます="説明"コンテンツ="新しいテキストが追加されました"(div内)
  2. 入力テキスト ボックスの val をコピーし、head メタ ディスクリプションの「content」を置き換えます

以下のコードの一部:

 <h2>Meta Description</h2>
    <!-- I have head meta tags inside the below div to read the tags on the web page -->
    <div class="all">some text</div>

<!-- input text on keyup to 1. update head meta description, 2 update meta description inside the div (<div class="all">some text</div>) -->

<input type="text" name="metadescription" id="metadescription" />

<!-- this part of jquery is working -->
<script type="text/javascript">

var foo = '';

$("head meta").each(function () {
    foo += $(this).clone().wrap('<div>').parent().html();
});

//alert(foo); 
var b = $('.all').text(foo);


// the below is part is not quite working
$description = $('.all').find('meta[name=description]').attr('content');

$('#metadescription').keyup(function(){
  //  $('.all').find($description).text($(this).val());
    //the below just replace all the text, but I want it to replace the 'content'
    $('.all').text($(this).val());
    //alert(foo); 



});

</script>

私はこれを機能させました。大部分は、ほとんどのコードについてsoftsdevに感謝することです:))

*以下は完全な作業コードです!!!! **

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="description" content="This is the meta description of some sort" >
<meta name="keywords" content="some, content, added" >
<title>change meta content</title>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript">
    $( document ).ready(function(){
        $('.content').keyup(function(){
            $('meta[name=description]').attr('content', $(this).val());
        });


    });

</script>
</head>

<body>



    <h2>Meta Description</h2>

<div class="all">some text</div>
    <h4>Update meta description</h4>
<input type="text" name="content"  class="content"/>

<script type="text/javascript">
$('.content').keyup(function(){

    $('.all').text('<meta name="description" content="'+$(this).val()+'">');

});


$('.all').append(($('meta[name=descritption]').attr('content')));
var tt = jQuery.metadata.get(name=descritption)
   $('.all').text(tt);
   $('meta[name=description]').attr('description').insertAfter('body');
</script>

<script language="JavaScript">
if (document.getElementsByName) {

  var metaArray = document.getElementsByName('description');
  for (var i=0; i<metaArray.length; i++) {
   // document.write(metaArray[i].content + '<br>');
            $('.all').text('<meta name="description" content="'+ metaArray[i].content +'">' );

  }

}
</script>

</body>
</html>
4

1 に答える 1

1

あなたは例のようにすることができます

変化する

$('.all').text($(this).val());

$('.all').text('<meta http-equiv="content-type" content="'+$(this).val()+'">');

更新された回答

HTMLでそれを行いたい場合は、これを試して、firebugコンテンツをチェックインすると、メタタグが変更されます

ただし、クライアント側にのみ反映されます

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="description" content="This is the meta description of some sort" >
<meta name="keywords" content="some, content, added" >
<title>change meta content</title>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript">
    $( document ).ready(function(){
        $('.content').keyup(function(){
            $('meta[name=description]').attr('content', $(this).val());
        });
    });

</script>
</head>

<body>
    <input type="text" name="content"  class="content"/>
</body>
</html>
于 2013-08-29T10:08:06.223 に答える